Commit Graph

26 Commits

Author SHA1 Message Date
Aditya Atluri 99095ec70e added more device negative testing
1. Added fallback for nullptr to hipGetDeviceProperties and hipGetDeviceCount
2. Added negative tests for hipGetDeviceProperties and hipGetDeviceCount

Change-Id: Iac93fd53d7d4794fb10546ddadf6ca802b047c87


[ROCm/clr commit: 4299316039]
2016-09-27 13:04:35 -05:00
Aditya Atluri 0f1df51a33 fallthrough if deviceId pointer is null
Change-Id: I924996d60d0286a7be1d18881ee733459de2981c


[ROCm/clr commit: 57872d2a88]
2016-09-27 11:47:58 -05:00
Rahul Garg b16b1fdda8 Added further properties in hipChooseDevice
Change-Id: I8f7f5800e8a95873318a534f09e75e037ad31b06


[ROCm/clr commit: 6139d5f587]
2016-09-16 11:18:34 +05:30
Maneesh Gupta 905a3a2211 Remove redundant API hipDeviceGetFromId from HCC path
Change-Id: Id6b4f1374b12cb3949d725f0859425cd8de6d868


[ROCm/clr commit: 0c56f707f0]
2016-09-09 12:06:19 +05:30
Rahul Garg 58ef4a1880 Removed return code related doxygen from hip_device src file
Change-Id: Iffe51b69dd6be064b7898d06e537a505e27edb0b


[ROCm/clr commit: 9ad1d2c39e]
2016-09-08 23:12:12 +05:30
Rahul Garg be1dd62dd7 Initial support for hipChooseDevice function
Change-Id: Iedbf5f98c96673ab701dd7539d80a77b994d296f


[ROCm/clr commit: 817bd7270f]
2016-09-08 22:37:24 +05:30
Ben Sander c5f7fd723a refactor ihipPreLaunchKernel phase#1
- Fix calls to HIP_INIT_API to pass all function arguments.
- Change ihipFunction to follow coding convention:
    - leading underscore for member fields,
    - camelCase for member fields.
- move kernel print function inside ihipPreLaunchKernel.
- add HIP_TRACE_API_COLOR, control color of messages.
- add ihipLogStatus wrapper to hipDeviceSynchronize()

Change-Id: I20bbb644da213f821404648945197254e3648fc9


[ROCm/clr commit: 745310399d]
2016-09-07 15:18:34 -05:00
Ben Sander 98019e5f79 Only use ihipLogStatus from top-level HIP functions.
Change-Id: I07e9c088d5c16a79ed52cb008a798889a656016c


[ROCm/clr commit: 9ee9284306]
2016-09-02 09:46:59 -05:00
Rahul Garg bb03a2274d Added hipDeviceTotalMem
Change-Id: I877fbc9e4767bbd70ecd0184f5123c9bc6cbd06f


[ROCm/clr commit: 302f6c1e3a]
2016-09-02 15:12:50 +05:30
Rahul Garg c60fc14dcd Added hipDeviceComputeCapability, hipDeviceGetPCIBusId and hipDeviceGetName
Change-Id: Ibe2d975df796712633900ddc7b0734ec2b8ab4ec


[ROCm/clr commit: 392860bf20]
2016-09-02 14:45:53 +05:30
Rahul Garg f2e8d2c976 Added HIP_INIT_API to hipDeviceSynchronize()
Change-Id: I9bd6bf206905621b17e1999994b5ea09b7382180


[ROCm/clr commit: a949060b12]
2016-09-01 11:00:30 +05:30
Rahul Garg f1f04949ac Added support for hipCtxSynchronize and hipCtxGetFlags,modified hipDeviceSynchronize
Change-Id: If7bac667a262fa8c0cb3dc93e97f2534855acd07


[ROCm/clr commit: b0ba622ed5]
2016-08-22 16:15:27 +05:30
Ben Sander a4bfccf628 Context update.
- Remove tls_deviceID.
- Add first passing test.

Change-Id: If3e2f254abf589028cfe4f9e6369745f04160de0


[ROCm/clr commit: a9bcee3d77]
2016-08-10 08:59:47 -05:00
Ben Sander 0c8ca4b37d Add initial context implementation.
APIs: hipInit, hipCtxCreate.
Track TLS default ctx.  Set deviceID now changes the ctx.
Add first context test.

Change-Id: If1cb9989b5a04a36147e25e84904336c7b6f3d88


[ROCm/clr commit: f19f2248bf]
2016-08-08 17:49:02 -05:00
Ben Sander 3ee6e7f8ab Split ihipCtx_t into ihipCtx_t and ihipDevice_t .
Major change to existing code base.
    Ctx holds streams, enables peers, and flags.
    Device holds accelerator, hsa-agent, device props.

Add hipCtx_t.

Add peer APIs that accept hipCtx_t (in addition to deviceId)

Compiles and passes directed tests.

Change-Id: Iddab1eb9edbf90caad2ef5959c6b811d658197f1


[ROCm/clr commit: d09b19bb6c]
2016-08-08 11:55:57 -05:00
Ben Sander e5300e2b40 Change Device->Ctx
Change ihipDevice_t -> ihipCtx_t (new)
Change ihipGetTlsDefaultDevice->ihipGetTlsDefaultCtx
Some other changes from device->ctx where appropriate.

Change-Id: I5c4ae93b2fd42c6303aa23d748eb166b7431925d


[ROCm/clr commit: 0d16565061]
2016-08-07 21:47:12 -05:00
Ben Sander 058e927c9b Fix API string message for hipDeviceGetAttribute
Change-Id: I30f54627630c8ee835506be8c9921742bb68a43a


[ROCm/clr commit: f5118ce3cd]
2016-07-27 16:18:14 -05:00
Maneesh Gupta 64d0ffb404 Replace calls to ihipInit with use of HIP_INIT_API macro
Change-Id: Iabf7df79f0238a8ddffea4607fe945df36642850


[ROCm/clr commit: b485470819]
2016-07-22 15:46:55 +05:30
Ben Sander 57a4505e77 Fixes for P2P and hipDeviceReset
- devicereset would lose track of default stream and thus subsequent
  synchronization calls might not actually sychronize.
- Also deviceReset now correctly frees streams.
- fix waits in P2P staging copy - first phase (Device0-to-Staging) must
  wait for second phase (Staging to Device1) to finish draining the
  buffer.


[ROCm/clr commit: 6abfa13c34]
2016-04-18 20:49:33 -05:00
Ben Sander 025938b1de P2p checkpoint.
- set USE_PEER_TO_PEER=3 (requires HCC "am_memtracker_update_peers")
- when enabling peer, turn it on for previously allocated memory.
- hipDeviceCanAccessPeer is no longer self-ware (self does not qualify
  as a peer)
- device peerlist always includes self, so when we call allow_access
  we never remove self access.
- hipDeviceReset() removes old peer mappings.


[ROCm/clr commit: 9e7efd7c65]
2016-04-11 07:58:59 -05:00
Ben Sander e16e848d55 Make ihipDevice_t thread-safe.
Move critical data into separate class and protect with LockAccessor
wrapper class.

For device, the streams list is the critical data since it is modified when
streams are created or destroyed.   The streams list is accessed in
several places including when synchronizing across all streams on the
device (ie from the default stream).
Other device data is set once by the device cosntructor and is not critical
so

All functions which acquire the LockAccessor now named with "locked_" prefix.


[ROCm/clr commit: 4dd77c6612]
2016-03-26 10:46:20 -05:00
Aditya Atluri fba45193cd added CR and hipsetdeviceflags func
[ROCm/clr commit: eea49cb66b]
2016-03-24 07:04:01 -05:00
Aditya Atluri bd9979eda6 Split files based on functionality and changed cmake file
[ROCm/clr commit: 1c55019322]
2016-03-24 04:57:30 -05:00
Ben Sander 245d48de79 Partition hip_hcc into sections
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp


[ROCm/clr commit: e52c3d9fe0]
2016-03-24 09:28:54 -05:00
Aditya Atluri 1d31895043 reverted back to old infra with cmake added
[ROCm/clr commit: 29119bd3d4]
2016-03-23 11:13:02 -05:00
Aditya Atluri 85bcb2e3b8 WIP added modular feature for device apis
[ROCm/clr commit: 64c4c70e4f]
2016-03-23 07:54:01 -05:00