Wykres commitów

278 Commity

Autor SHA1 Wiadomość Data
Ben Sander 71f898d534 Use create_blocking_marker for WaitEvent implementation
Change-Id: Ib3113f69a14e48b9fe0558d7b455148e478d8eed


[ROCm/hip commit: aa823871db]
2016-09-02 09:46:59 -05:00
Ben Sander bb0afa4e38 Refactor for stream->_av.
- move _av into stream critical section.  ( HCC accelerator_view is not
  thread-safe but HIP steram is. )
- Refactored many places in code that need to acquire critical section.
some were previously thread races, ie enqueueing marker.

-remove support for GRID_LAUNCH_VERSION < 20
-Enable USE_AV_COPY based on HCC work-week.
- Review hipModule docs, some calrity/editing.

Change-Id: I3ce7c25ece048c3504f55ecd4683e506bb1fc8b6


[ROCm/hip commit: e76a272d48]
2016-09-02 09:46:59 -05:00
Ben Sander 24917dd6e8 enable dynamic shared always
Change-Id: Idc246546f583a82489ef34d1fe22d0e118b1e0ed


[ROCm/hip commit: bbbcb4efad]
2016-09-02 09:46:59 -05:00
Aditya Atluri 3e26dd5b5d added logger for return status
Change-Id: Ib93012a15b1cfa90714a6ebd5153cc40e28e6566


[ROCm/hip commit: 04f97aa956]
2016-09-02 09:44:00 -05:00
Aditya Atluri d92b14aa21 fixed code according to convention
Change-Id: Ib90c84a30ea6da3531e8b7c3e281dd4b31915198


[ROCm/hip commit: 7a807d54df]
2016-09-02 09:31:37 -05:00
Rahul Garg 2d6f4cfb81 Removed Doxygen return codes from source file
Change-Id: Iaf9f13df73a9c17c494c9ff67203b836ee90648d


[ROCm/hip commit: eada9b4444]
2016-09-02 18:37:26 +05:30
Rahul Garg af9fcb7c87 Added hipDeviceTotalMem
Change-Id: I877fbc9e4767bbd70ecd0184f5123c9bc6cbd06f


[ROCm/hip commit: 2f8d9e20b2]
2016-09-02 15:12:50 +05:30
Rahul Garg bb215fe616 Added hipDeviceComputeCapability, hipDeviceGetPCIBusId and hipDeviceGetName
Change-Id: Ibe2d975df796712633900ddc7b0734ec2b8ab4ec


[ROCm/hip commit: 3f5a2f8397]
2016-09-02 14:45:53 +05:30
pensun 6824b3af6d Modify hipMalloc to take size of 0 and return NULL pointer for it.
Modify hipMemoryAllocate test for this change.

Change-Id: I884aee0cd5fe0c60aebb4cb37cdbb4833c5bd0c7


[ROCm/hip commit: b726f0e949]
2016-09-01 13:08:30 -05:00
Rahul Garg 00b92e6e35 Added doxygen documentation for hipCtxXXX APIs
Change-Id: Id9cf3491e9a8c78cb7bfeb9976c36d6fe565628f


[ROCm/hip commit: 94f035d80d]
2016-09-01 12:22:37 +05:30
Rahul Garg 0a73962d42 Added HIP_INIT_API to hipDeviceSynchronize()
Change-Id: I9bd6bf206905621b17e1999994b5ea09b7382180


[ROCm/hip commit: deb2638397]
2016-09-01 11:00:30 +05:30
Aditya Atluri bc1abd10f5 remove HIP_INIT_API from ihipSynchronize
Change-Id: Ibe0739efe55573c023212d9c28ba847c777e434c


[ROCm/hip commit: 1769c4b4b2]
2016-08-29 21:42:22 -05:00
Aditya Atluri d592ef1f4b Added HIP_INIT_API for all context apis
Change-Id: I3dd8c068236d9572659a58683fdb59d2b9dccaf3


[ROCm/hip commit: 5178bd6308]
2016-08-29 21:36:34 -05:00
Ben Sander 6c2759e70d Refactor trace code for hipLaunchKernel.
- Use standard print functions for streams.
- Add HIP_INIT macro, for cases where we want to initialize HIP but not
  log an API (ihipPreKernelLaunch).

Change-Id: If43cf8a363d918bcd3722a2e6a965d4cfa2e03e7


[ROCm/hip commit: 21e5c25225]
2016-08-29 18:37:57 -05:00
Ben Sander 694dcd1683 remove stray printf
Change-Id: Ie64778a83dfe684ffaab3c31bc3d09b713f825b9


[ROCm/hip commit: 8fb076f5c4]
2016-08-29 18:36:30 -05:00
Aditya Atluri dd8f451428 Changed module api to work with nvcc and hipcc path
- Added cuda and cudart linking for nvcc path in hipcc
- Added hipMemcpyHtoD and hipMemcpyDtoH for nvcc path
- Changed hipDeviceptr to hipDeviceptr_t
- Fixed hipMemcpy*to* API signatues

Change-Id: I6ef076b507f92502efda475c83dcdcdd462afc37


[ROCm/hip commit: 4b377f63d0]
2016-08-29 15:05:12 -05:00
Aditya Atluri 874d04291b Cleaned up module api
- Moved HIP_INIT_API from internal to all public apis
- renamed hipLaunchModuleKernel to hipModuleLaunchKernel
- Changed tests according to the changed api

Change-Id: I822ff63c7c5b7dad340ece49456baf9d89428e9f


[ROCm/hip commit: 3d1bf4dbaf]
2016-08-28 16:48:57 -05:00
Ben Sander 0b733e05eb Remove cutnpaste check on uninitialized hsa status
Change-Id: Icc0256b9b1bd01d45cca4feb1106cfe7427bcd15


[ROCm/hip commit: 5551b6c2f6]
2016-08-28 16:35:27 -05:00
Aditya Atluri 2efa60a37e Added explicit memory copy direction apis
- Fixed stale printf in context api
- Added 4 sync memcpy apis
  1. hipMemcpyHtoD
  2. hipMemcpyDtoH
  3. hipMemcpyDtoD
  4. hipMemcpyHtoH
- Added test for added apis

Change-Id: I4a9c382445b62631f8d0bcbb9a670322288b72b1


[ROCm/hip commit: 4152746e26]
2016-08-26 13:11:01 -05:00
Aditya Atluri 34257c06e6 Added NVCC support and name changes
- Added NVCC support for module APIs
- Changed hipFunction and hipModule data types to hipFunction_t and hipModule_t
- Created new intenal ihipModuleGetFunction as it is used twice
- Changed test to match with the new data types

Change-Id: I300a1c7fd40ed7065b1b8b9de97e3a06b96ed729


[ROCm/hip commit: 8b918b065a]
2016-08-26 10:32:01 -05:00
Rahul Garg 58aa4f61c2 Added logic to update primary ctx when ctx stack is empty, updated hipCtxDestroy and ctxGetCurrent functions
Change-Id: Ia0a8943c121bc1279788a1cfa9be59af614b04a6


[ROCm/hip commit: 1211cc931c]
2016-08-26 19:03:23 +05:30
Rahul Garg 376cc78852 Addition of hipCtxEnablePeerAccess and hipCtxDisablePeerAccess functions
Change-Id: I381c8cbbde17eae7d9bb5d4cb1596cebf4bda039


[ROCm/hip commit: 524eb687d3]
2016-08-26 13:51:33 +05:30
Aditya Atluri 69d6645be6 Changed how hipEvent_t is typedefed internall
- Mapped hipEvent_t directly to ihipEvent_t* instead of a handle

Change-Id: I5a8bcca0ef962932e0738c03eb1fc914d23022ae


[ROCm/hip commit: 842553a6e1]
2016-08-25 14:34:41 -05:00
Aditya Atluri ad9e04acf8 Added hipModuleGetGlobal and hipModuleLoadData
Change-Id: Iaec873f7d86b72911b6ad32e067a4dfe3d552fe6


[ROCm/hip commit: 79e88a6af6]
2016-08-25 14:16:53 -05:00
Aditya Atluri c40593fa5f changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093


[ROCm/hip commit: cb996c7b7a]
2016-08-24 09:47:11 -05:00
Aditya Atluri 6842171207 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa


[ROCm/hip commit: 2287af23a1]
2016-08-23 14:19:15 -05:00
Aditya Atluri 138b5b83d2 Added stream synchronisation for hipLaunchModuleKernel
- The module kernel launch is now in sync with commands in its stream
- Moved launch kernel inside ihipStream

Change-Id: Ic00cfcf4882bf81b6203c36881a52575ea68b529


[ROCm/hip commit: 8f0f97f8f9]
2016-08-22 14:17:55 -05:00
Rahul Garg 5a1cf6ccfd Added support for hipCtxSynchronize and hipCtxGetFlags,modified hipDeviceSynchronize
Change-Id: If7bac667a262fa8c0cb3dc93e97f2534855acd07


[ROCm/hip commit: a498753041]
2016-08-22 16:15:27 +05:30
Aditya Atluri 719e91aacf Added support for executable and symbols for data structures
- symbol handle is added to hipFunction
- executable handle is added to hipModule
- This way, the APIs doesn't need to track the values

Change-Id: I7cf05329cf79fe946319d7746bd9f5503268fda4


[ROCm/hip commit: 921736782e]
2016-08-19 08:49:34 -05:00
Aditya Atluri 784e9c6691 Added hipLaunchModuleKernel and new error codes
- hipLaunchModuleKernel maps to cuLaunchKernel
- Whole lot of new error codes added for the use of driver api
 - KernelParams arguments is not yet supported
 - hipLaunchModuleKernel is a synchronous api (will change eventually)
 - All the commands in a stream will wait on host when hipLaunchModuleKernel is called on it

Change-Id: Ib4a4fae1db06fbb3a81d5a5575b026aa821264ed


[ROCm/hip commit: e51ce8fc09]
2016-08-18 11:26:55 -05:00
Maneesh Gupta cf21de7c18 Fix normcdf signature
Change-Id: I36b225cfe03db687f295aeea8a006d535bc14231


[ROCm/hip commit: 69f005f5b2]
2016-08-17 22:07:06 +05:30
Aditya Atluri 1fc39ff469 Added copyright to hip_module.cpp file
Change-Id: Ifc5f1e251d5c52a5b59f372b3fada938dbecb34a


[ROCm/hip commit: 1118d2e510]
2016-08-17 10:36:28 -05:00
Rahul Garg 962276c45a Added further hipCtxXXX Apis
Change-Id: I286d962a06cee656c1c652b3f6b45078587fbc41


[ROCm/hip commit: 0962ca43d9]
2016-08-17 16:28:22 +05:30
Aditya Atluri fb9cdf19f0 corrected issues from hipModule API
Change-Id: I9d07884db20df5632f5a69b1a89a0e6ca531712b


[ROCm/hip commit: e4415aa98a]
2016-08-16 16:49:42 -05:00
pensun e8870d2505 add occupancy support for NV path; fix hipPeekAtLastError on HCC path
Change-Id: I26b0e1875c19d7c636ffcc18f1738926572ded81


[ROCm/hip commit: 2d228d8e0c]
2016-08-16 16:25:03 -05:00
Aditya Atluri e582b27f7f Added kernel compilation driver apis
1. Added 2 new driver apis, hipModuleLoad, hipModuleGetFunction

Change-Id: If464a7fad178121e3da791c7ac9e17ebc01a9cd0
Issues: When a sample written with them shows Aborted (core dumped) when exiting


[ROCm/hip commit: 3d27bbd3db]
2016-08-16 14:36:25 -05:00
Rahul Garg e33c5c07e3 Implementation of hipCtxGetDevice
Change-Id: I067572e486323c3aad6f744a2c0c4997c8696af6


[ROCm/hip commit: eec9edef80]
2016-08-13 01:17:46 +05:30
Rahul Garg 5e91fe9af3 First implementation of hipCtxXXX functions
Change-Id: I4609cbe6bd90a1fff8655bff4fdd773864397aba


[ROCm/hip commit: 62d390da58]
2016-08-13 00:09:08 +05:30
Ben Sander 0221323977 Context update.
- Remove tls_deviceID.
- Add first passing test.

Change-Id: If3e2f254abf589028cfe4f9e6369745f04160de0


[ROCm/hip commit: 89164259ab]
2016-08-10 08:59:47 -05:00
Rahul Garg e64ae4bda0 Changed StagingBuffer class to UnpinnedCopyEngine
Change-Id: I1e212bfc8030dcf225ecf78fd7b23fda9b1de92f


[ROCm/hip commit: 2ac93c340d]
2016-08-09 21:29:42 +05:30
Rahul Garg 99f4d4ebec Moved sync copy decision logic to staging buffer class
Change-Id: I5c398772375fcc1f174a7597eea1215ce7bf80b4


[ROCm/hip commit: 023b1ecf33]
2016-08-09 09:28:18 +05:30
Ben Sander db8c7e97bd 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/hip commit: 8f402132ba]
2016-08-08 17:49:02 -05:00
Ben Sander 28db2f79ba Code cleanup, use camelCase where appropriate.
Change-Id: I5a7ec50df8bbb3e7a3b313c0b12e2dd55ae4a09c


[ROCm/hip commit: ed0a2c02fe]
2016-08-08 14:54:38 -05:00
Ben Sander e8757f8154 Move copy kernel templates into hip_memory.cpp
Change-Id: I862529f3fa8232372c6bacaa5d36f035bbdd32a1


[ROCm/hip commit: 2a798152d4]
2016-08-08 12:07:12 -05:00
Ben Sander 57df8a3967 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/hip commit: cfdacab32f]
2016-08-08 11:55:57 -05:00
Ben Sander ee356ad0d4 Change Device->Ctx
Change ihipDevice_t -> ihipCtx_t (new)
Change ihipGetTlsDefaultDevice->ihipGetTlsDefaultCtx
Some other changes from device->ctx where appropriate.

Change-Id: I5c4ae93b2fd42c6303aa23d748eb166b7431925d


[ROCm/hip commit: 2dc3d3238b]
2016-08-07 21:47:12 -05:00
Ben Sander 308578d520 Remove ihipStream_r::_device_index
Replace with direct pointer to device.  Cleaner, and prep
for transition to contexts.

Change-Id: I0e550f34412923d46c541c0a14bb7d29c3fd4b11


[ROCm/hip commit: e7d7c5cbe8]
2016-08-07 20:47:06 -05:00
Rahul Garg 63c4dc3273 Region based apis to pool based api changes
Change-Id: If53019eebafe051ab4e811863995f78315297080


[ROCm/hip commit: fcb2fcce1e]
2016-08-05 15:05:57 +05:30
Ben Sander 5ffc0a1e25 Remove faulty assert for kernelCnt==0
Change-Id: I8a925c95f48e857c0a31f44561499e90dc6df552


[ROCm/hip commit: f43d02027e]
2016-08-01 13:38:47 -05:00
Aditya Atluri 2f53a50718 Signal Fix: The signals in a stream are re-used
1. Before, the signal pool is increased depending on the usage
2. After, a static number of signals are allocated to the pool
Only these are used by hip in a stream
3. If the signals required are more than the pool size, the
stream has to wait to make sure all the signals are available
4. Once they are available, the stream can use them
5. Removed HIP_NUM_SIGNALS_PER_STREAM because of redundancy with HIP_STREAM_SIGNALS
6. Increased signal count from 2 to 32.
Future Work: Dynamically increase the pool size depending on the number of
streams allocated by the application. And, null stream should have more signals

Change-Id: I6be36e084f26bb04766fabf776c7210aee0f9e91


[ROCm/hip commit: 9062ebcf3a]
2016-07-28 23:01:35 -05:00