Commit Graph

347 Commits

Author SHA1 Message Date
Aditya Atluri 62ec53740c Added hipDeviceGetLimit api
1. hipDeviceGetLimit API for HCC path is added
2. Test for hipDeviceGetLimit API is added
3. The feature added only supports querying heap size
4. Corrected indents for malloc and free device functions
5. Removed redundant data structures
6. Added g_heap_malloc_size to store the heap size

Change-Id: If48d1b0ce9270e994f1c542cc283ddbb14746bbb
2016-10-12 19:58:48 -05:00
Aditya Atluri 7cf8ea5c64 Added copyright for headers
Change-Id: I35843d8d3b6acd9553ce00150868e15e2baee1da
2016-10-12 19:12:35 -05:00
Aditya Atluri d24a7ef12b added malloc and free device functions
1. Added malloc and free device functions
2. Added test which check malloc and free functions
TODO: Need to add support for multiple device. Works only on one device (multi device support id NOT available).

Change-Id: Id11fc36463915d6ad46c264d5a20c8feb2d2c17c
2016-10-12 19:08:34 -05:00
Aditya Atluri 288f024d00 changed memcpy and memset device functions
Change-Id: Ia7f450536a75fad4fe13c7fcf5e9e7a9b5450f52
2016-10-11 17:43:15 -05:00
Aditya Atluri d71c0d10de changed hipTestDeviceSymbol test to compile for both nvcc and hcc path
Change-Id: I041770ad59d4f88d0c8d27d90cdc8a799935ada1
2016-10-11 13:50:31 -05:00
Aditya Atluri e3712197ca added hipMemcpySymbol feature to nvcc path
Change-Id: I78d45036083fba62d2b2e4e58f9c72cb4e6eb54f
2016-10-11 13:34:54 -05:00
Aditya Atluri 3c4af7c371 added more changes to memcpytosymbol
1. Refactored code to use HCC internal APIs rather than HCC copy APIs
2. Added hipMemcpyToSymbolAsync
3. Added test for hipMemcpyToSymbolAsync
4. Added new error hipErrorInvalidSymbol

Change-Id: I0e359b2d0ff5d682bbccdf9c2923e16b35e39497
2016-10-11 13:29:46 -05:00
Aditya Atluri 6952b59401 Added feature for memcpy to Symbol
1. Currently works only for __attribute__((addrspace(1))
2. Need to pass in string for name of the variable
3. Added test to check functionality

Change-Id: I4c3cc1bf151cb5423e4aef59fcc4ad5693b31641
2016-10-11 12:09:58 -05:00
Aditya Atluri dc1042ce6d added threadfence feature for hcc
1. Added feature for __threadfence and __threadfence_block
2. Added feature for using LLVM IR files directly while compilation
3. Added test for threadfence and threadfence_block

Change-Id: Ib7e5d89b4cca1a135952b317e5809cd05b56a3c9
2016-10-10 15:29:50 -05:00
Maneesh Gupta 7c943ef20a Add back deprecated hipHostAlloc, hipMallocHost, hipFreeHost
Change-Id: Ib8494078c852b07e1958c3acc21fa1866542122c
2016-10-09 16:30:46 +05:30
Elias Konstantinidis 2bc541e15f Added support for __mul24 and __umul24 2016-10-06 09:29:36 +05:30
Maneesh Gupta b951cc99ed Move include/* to include/hip/*
Change-Id: I7a7b2839b4df59c7a4c503550f99fdc9e45c0f54
2016-10-04 22:17:18 +05:30
Ben Sander 88fb0efa6d Fix hipMemSetAsync compilation, bounds check on name copy 2016-10-03 19:05:19 -05:00
Aditya Atluri 9f05eca0a0 Stream fix on nvcc hipMemsetAsync
Change-Id: Ia0eb81dff0f422af55d93b4635d42e9aa6921377
2016-10-03 12:38:41 -05:00
Ben Sander d4a6010e2d disable DB_SHOW_TID
Change-Id: Ia415437e8ba9903de149997380f61f1272488642
2016-10-02 05:56:38 -05:00
Aditya Atluri 2835e86e39 added vector types for C path
Change-Id: I4ccd4082f1b2ce4f0f4fd9fb498506234783a803
2016-09-29 19:44:00 -05:00
Aditya Atluri e04b8d6aa7 Added C guard for math headers
Change-Id: I0e71819c6436b3e6c99b2deddb2ee2d2a16acedd
2016-09-29 13:54:34 -05:00
Aditya Atluri 1e56dead78 Fixed issue on git #39
Change-Id: I5b507fc2b544df0cd3a900a2763c7a3ad6295c13
2016-09-29 10:06:26 -05:00
pensun 4fa5e980ef add hipEvent* macros on NV path
Change-Id: I28ff0fa24f69560e13366e7cd8d3a485665c67e1
2016-09-29 01:22:19 -05:00
Ben Sander 4ff6dc8f38 Refactor asyncCopy and syncCopy to fix deadlock case.
- Minimize time that locks are held.
- Eliminate copy code that locked stream and ctx at same time.
    - Stream was locked to ensure thread-safe enqueue to the queue.
    - Devices were locked to query peer-lists.

Change-Id: Ibe8880bb7fb995a3da8f90ff911f212d81525018
2016-09-27 15:45:40 -05:00
Ben Sander 6de9136002 Add debug option to print ThreadID with each message.
Also print messages with single fprintf to prevents threads from
interleaving.

Change-Id: Ib3999fe6b1e67b4a16cd7dcde82f3dfc99dd48ff
2016-09-27 15:45:40 -05:00
Ben Sander 225e37fdc9 Fix signal resource issue.
Remove memory leak with new hc::completion_future.
Implement HIP_LAUNCH_BLOCKING with queue-level wait.

Change-Id: I45975f81c4d239fdeed7776970988d28449865dc
2016-09-26 16:47:32 -05:00
Rahul Garg 280249918f Doxygen documentation changes for hipCtxXXX APIs
Change-Id: I1e5e3a621b732bd8bdeef1c607c004d6adfdab32
2016-09-26 23:11:07 +05:30
Rahul Garg f4f12cf50c Doxygen related document updates for texture/ array related functions
Change-Id: Iedc5b6512b5ddecb98c0e51a353957f08b955fde
2016-09-26 16:18:53 +05:30
Rahul Garg daef1d2906 Removed deprecated hipHostAlloc
Change-Id: Ia592a3545c5d72f37e049ce29f910e404323c01c
2016-09-26 10:58:46 +05:30
Rahul Garg 6790ff6b11 Removed deprecated hipMallocHost
Change-Id: I3141fe05a34b6a306297a30721509965f49ccb97
2016-09-26 05:52:21 +05:30
Rahul Garg 7b87a972cb Removed deprecated hipFreeHost
Change-Id: I9747ea3993090e0da6a2e1f5e9ce318762bc03e1
2016-09-26 05:35:14 +05:30
Ben Sander c769abcbeb Peer-to-Peer improvements.
- Bug fix for peer visibility.  Now contexts correctly detect when they can use SDMA for P2P vs staging buffers.
- Interface to new HCC copy_ext function.
- Improve context and peer print /debug options.
- Add comments and usage to hipPeerToPeer_simple test.
2016-09-22 14:21:19 -05:00
Ben Sander 0d47e62cb0 Add kind translation for hipMemcpyDeviceToDevice 2016-09-22 14:21:19 -05:00
Ben Sander c645e53fdd Remove unpinned_copy code. Other cleanup.
Change-Id: Ie3f71439cf1ba729ef223d078917c403d3de879a
2016-09-22 14:21:19 -05:00
Ben Sander e0ce1d3954 Cleanup. Remove cfs, ihipSignal_t, staging buffer calls.
Change-Id: I8bb67c484e3a65be06a03665f059217930da2bed
2016-09-22 14:21:19 -05:00
Ben Sander 12cb1d88aa Cleanup: Remove HIP signal pool.
Change-Id: Icebfd0509d12396cc5933d5556d68b53e1be36e0
2016-09-22 14:21:19 -05:00
Ben Sander 7530fa6dbe Remove HIP command dependency tracking.
Change-Id: I991c13bc5108193959ba70f9f6f9c692c9ad3a5b
2016-09-22 14:21:19 -05:00
Ben Sander 8c4cecf367 Cleanup, remove preCopyCommand.
Change-Id: I3768d3789a99be8136b43179d4152fa1875665cb
2016-09-22 14:21:19 -05:00
Ben Sander e843d8cb51 Remove USE_AV_COPY, USE_PEER_TO_PEER fallback paths.
Change-Id: I9c20173e62029c4caebabc98784c6d7697758e4f
2016-09-22 14:21:19 -05:00
Ben Sander ccc1bbe6b1 Remove HIP_STAGING_BUFFER
Code simplification/cleanup:
Remove stale fallback paths that uses something besides the unpinned engine.
Remove HIP_STAGING_BUFFER env var - now is const 2, 0 no longer has
special meaning.

Change-Id: I7d24cdd1067dd0c244e87b6a83897cb135d307e7
2016-09-22 14:21:18 -05:00
Ben Sander 442d74f027 Move isLargeBar to UnpinnedCopyEngine constructor.
Change-Id: I7a7d3a40b1d4e0c6ec856658a6a70e5e70d287ce
2016-09-22 14:21:18 -05:00
Ben Sander e300cb4405 Refactor Staging Buffer CopyDeviceToHost
Use copyMode.  Embed algorithm selection inside the unpinned class.

Change-Id: Ic75fd5931717a3160904402794bbed3ccd445112
2016-09-22 14:21:18 -05:00
Ben Sander c532de9f5a Refactor staging buffer CopyHostToDevice.
- Move algorithm selection inside Unpinned class.
- Refactor function names.
- Use size_t for size threshholds.

Change-Id: Iac4de652ac9d49acbf527aa0849e388b8ecd8486
2016-09-22 14:21:18 -05:00
Ben Sander 83140f8423 Updates docs for hipHcc* functions, move to header 2016-09-22 13:05:47 -05:00
Aditya Atluri 50b78439af added ipc runtime api for nvcc backend
Change-Id: I3297c4c9db34e7bc3267fec64a6757f9ebf91905
2016-09-22 12:55:41 -05:00
Rahul Garg bfc033cc3e Added hipRuntimeGetVersion function
Change-Id: I59ec2beacb5a94439deed0dcc8eb37d6de1cc900
2016-09-22 15:21:23 +05:30
pensun 751a2cfce5 doc fix for hipStream
Change-Id: I618464c8b9ffa0a566434e72d2bc87a152884ca1
2016-09-21 12:03:01 -05:00
Rahul Garg ffd49cfa37 Added return error code hipErrorInvalidValue in hipMemGetInfo
Change-Id: If01b012136b655ff8eb4878eb703dfe3e6a36530
2016-09-17 23:54:20 +05:30
pensun d69e56fdc9 Revert "resolve merge conflict"
This reverts commit 575e1f5024.
2016-09-16 16:04:48 -05:00
pensun 575e1f5024 resolve merge conflict
Change-Id: I041730d4208ae1865820f5df73a67ba60fd4bc3c
2016-09-16 11:13:43 -05:00
Maneesh Gupta 22a78410d7 Some more event API documentation fixes
Change-Id: I159706e6771bec5270dda81800c1c6fd5f13d254
2016-09-16 15:26:58 +05:30
Maneesh Gupta 8d1ab4c21a Fix typo in comment
Change-Id: I217012e10d8e5322aa0dc7dd5915be10df35fb53
2016-09-16 15:18:17 +05:30
Maneesh Gupta 3d85cd0ce5 Updates to doxygen documentation for HIP Event APIs
Change-Id: Ic2e4a5725aebca14ac824da43436aacd0fe0a45c
2016-09-16 15:06:54 +05:30
Maneesh Gupta 8ce8e1de76 Fix fence functions doxygen group
Change-Id: I222eecb0eb0174b9f19e15b16c1ee06b7ba1e67e
2016-09-16 15:06:54 +05:30