Aditya Avinash Atluri
5214b314a9
H2H Async memcpy fix
...
In this change, the cpu memcpy will wait until all the commands in the current stream are done.
Note that, it only waits on current stream. But not on other streams.
[ROCm/hip commit: 180bc32db0 ]
2016-02-29 12:49:50 -06:00
Ben Sander
5fc32bc1e8
Copy dependency bug fixes and test modes.
...
Add dependency for host-to-host copy.
Add debug mode for HIP_DISABLE_HW_COPY_DEP and
HIP_DISABLE_HW_KERNEL_DEP - setting these to -1 now ignores
all dependencies.
[ROCm/hip commit: ba9ad6be80 ]
2016-02-28 21:19:49 -06:00
Ben Sander
cefe65e24a
touchup
...
[ROCm/hip commit: af22d056e0 ]
2016-02-28 21:08:53 -06:00
pensun
b9421830a4
Test cases for HIP_VISIBLE_DEVICES/CUDA_VISIBLE_DEVICES.
...
hipEnvVar is the base test case, to be called by hipEnvVarDriver
at the run time.
Test case includes tests for normal use case of the environment
variable, invalid value/sequence and use CUDA_VISIBLE_DEVICES as a
alternative.
[ROCm/hip commit: 39b44cb484 ]
2016-02-27 14:48:00 -06:00
pensun
1154872b0d
improve the HIP_VISIBLE_DEVICES implementation
...
[ROCm/hip commit: 1f606261c1 ]
2016-02-27 14:14:08 -06:00
pensun
a71c5a6cf0
Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
...
[ROCm/hip commit: 07e56d4666 ]
2016-02-27 04:25:28 -06:00
Aditya Avinash Atluri
f2dfb87abf
Merge pull request #4 from AMDComputeLibraries/memtracker
...
hipGetPointerAttrib behavioral changes
[ROCm/hip commit: ecadb1623c ]
2016-02-27 10:51:23 -06:00
Ben Sander
66d6dbf686
disable rocrv2, properly
...
[ROCm/hip commit: ea09557e1b ]
2016-02-27 03:31:30 -06:00
Aditya Avinash Atluri
e7631f28e5
Corrected hipPointerGetAttribute
...
Made hipPointerGetAttribute work same as cudaPointerGetAttribute for HCC
[ROCm/hip commit: 66aa7f2f8a ]
2016-02-26 18:50:40 -06:00
pensun
c864a3f0fd
relsove conflicts
...
[ROCm/hip commit: 57f60b34fb ]
2016-02-26 09:57:40 -06:00
pensun
dc3710cee4
fix compiling error
...
[ROCm/hip commit: ee7ac16396 ]
2016-02-26 09:50:00 -06:00
Ben Sander
1ac07d2b87
fixes for titan platform
...
[ROCm/hip commit: ff66ef0779 ]
2016-02-26 05:25:30 -06:00
Ben Sander
b46a90852e
Disable ROCR_V2
...
[ROCm/hip commit: 6e0ccdfb95 ]
2016-02-26 23:34:45 -06:00
Ben Sander
193dbe4632
Merge branch 'memtracker' into privatestaging
...
Conflicts:
include/nvcc_detail/hip_runtime_api.h
[ROCm/hip commit: 369e0d7b5b ]
2016-02-26 06:17:05 -06:00
Ben Sander
8a2bcf2da3
Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
...
[ROCm/hip commit: c300ffe458 ]
2016-02-26 06:15:09 -06:00
Ben Sander
a10f2d1a93
Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
...
Conflicts:
tests/src/hipMemcpy.cpp
[ROCm/hip commit: d319299ddb ]
2016-02-25 23:22:51 -06:00
Ben Sander
5ca4914e0e
Merge branch 'memtracker' into privatestaging
...
Conflicts:
src/hip_hcc.cpp
[ROCm/hip commit: 4adab7b7ef ]
2016-02-25 19:38:46 -06:00
Ben Sander
ae365b4ae2
Improve memory copy and commands switching
...
- Add chicken bits to use host-side dependency management.
- Add optional PinInPlace path for unpinned copies
- Synchronize before pinned memcpy path.
- Add mutex to protect two threads launching to same stream.
[ROCm/hip commit: 8b64c0dc62 ]
2016-02-25 19:19:49 -06:00
Evgeny Mankov
82900a1888
Attribute hipDeviceAttributeIsMultiGpuBoard for obtaining Device property isMultiGpuBoard is added.
...
On HIP path property obtaining done through hsa_iterate_agents and counting the devices of HSA_DEVICE_TYPE_GPU type.
P.S.
On multi-boards systems it might be problems with detection what board a GPU plugged into (not tested).
[ROCm/hip commit: 57e212606d ]
2016-02-25 23:44:39 +03:00
Ben Sander
60552f5133
Add tests for multi-threaded streams
...
[ROCm/hip commit: 7090f5c3f9 ]
2016-02-23 12:08:22 -06:00
Ben Sander
1888acb5f3
Sync review.
...
- add calls to ihipInit missing from some routines.
- sync before draining a stream.
[ROCm/hip commit: 3886d494f4 ]
2016-02-23 04:07:11 -06:00
Ben Sander
f0c734e256
Improve async copy implementation.
...
- Add device-side signal waits when transitioning between command classes
(Kernel, H2D copy, D2H copy).
- Support waiting in staged memory copies as well.
- Add several chicken bits to control implementation:
- HIP_DISABLE_ENQ_BARRIER
- HIP_DISABLE_BIDIR_MEMCPY
- HIP_ONESHOT_COPY_DEP
- Refactor signal pool to support efficient deallocation based on
signsequnm.
- Deallocate copy signals on eventSynchronize.
- Improve copy tests, add pingpong.
[ROCm/hip commit: 549b18ce77 ]
2016-02-22 23:15:24 -06:00
Ben Sander
23b257bca4
Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
...
[ROCm/hip commit: 0a98db4b5f ]
2016-02-22 08:33:47 -06:00
gargrahul
ccd1ed0a97
Update for shared atomics support
...
[ROCm/hip commit: a2fbf06129 ]
2016-02-22 16:21:52 +05:30
Ben Sander
ebf2700936
Track last command to a stream.
...
Passing simple tests.
[ROCm/hip commit: d33d806a5b ]
2016-02-20 11:02:07 -06:00
Evgeny Mankov
c3a600c63b
Guard #ifdef USE_ROCR_20 is added for ROCR_20 device properties (memoryClockRate, memoryBusWidth)
...
By default isn't defined.
To add ROCR_20 support HIP have to be compiled as follows: make CXX_DEFINES+=-DUSE_ROCR_20
[ROCm/hip commit: 833c9e52ad ]
2016-02-19 13:27:03 +03:00
Evgeny Mankov
68621c6702
Formatting, no functional changes.
...
[ROCm/hip commit: fbdeee39cd ]
2016-02-18 18:54:19 +03:00
Evgeny Mankov
4fcd9f2542
Device property memoryBusWidth implementation.
...
+ Device property memoryBusWidth is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryBusWidth is added to hipDeviceAttribute_t struct.
+ Tests update.
[ROCm/hip commit: 1c19dbb807 ]
2016-02-18 18:15:01 +03:00
Evgeny Mankov
a0cc7134e3
Device property memoryClockRate implementation.
...
+ Device property memoryClockRate is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryClockRate is added to hipDeviceAttribute_t struct.
+ Tests update.
+ Rename hipDevAttrConcurrentKernels to hipDeviceAttributeConcurrentKernels.
[ROCm/hip commit: 5ea8543d2e ]
2016-02-18 17:25:28 +03:00
Evgeny Mankov
8c1a0d1924
Attribute hipDevAttrConcurrentKernels for obtaining Device property concurrentKernels is added.
...
[ROCm/hip commit: 2b6fda77ca ]
2016-02-18 14:34:18 +03:00
Ben Sander
4e0ba06044
Enable Tracker and ROCR by default, verify with HCC
...
[ROCm/hip commit: c6f8883b0d ]
2016-02-17 23:03:37 -06:00
Ben Sander
a2d8f9d98e
Remove HIP-local AM tracker (now in HCC)
...
[ROCm/hip commit: d653782d9d ]
2016-02-17 21:33:32 -06:00
Ben Sander
5ab45e9be7
USE_AM_TRACKER=0 works
...
[ROCm/hip commit: 44f40e171a ]
2016-02-17 21:23:36 -06:00
pensun
b3d70ca271
1. Bug fix
...
2. passed initial tests on different sets of
HIP_VISIBLE_DEVICES: (0),(1),(0,1),(1,2),(2,3),(1,2,3),(2,3,4),(1,5,2,3)
and achieved expected choice of GPU devices at the runtime.
3. Passed HIP test suite.
[ROCm/hip commit: 8aa4bfce57 ]
2016-02-17 09:32:50 -06:00
pensun
e5ff38e421
Implementation of HIP_VISIBLE_DEVICES in runtime
...
[ROCm/hip commit: c1e120fb1b ]
2016-02-17 06:59:18 -06:00
Ben Sander
bb8a1fe72d
more work on async copies
...
[ROCm/hip commit: 59379ffb44 ]
2016-02-17 00:59:12 -06:00
pensun
66df1ff930
modify to add remove invalid devices numbers
...
[ROCm/hip commit: 060439b6ab ]
2016-02-16 10:00:05 -06:00
pensun
8c230eab73
Implement to read HIP_VISIBLE_DEVICES to internal global variable
...
[ROCm/hip commit: d40cbef2af ]
2016-02-16 07:39:04 -06:00
Ben Sander
512163b889
Add per-stream pool for hsa_signals.
...
[ROCm/hip commit: caef9b5ced ]
2016-02-16 01:59:13 -06:00
Ben Sander
9ab5b92173
Update before checkin to HCC.
...
Add support for USE_AM_TRACKER=2 (HCC version).
Add AM_ALLOC, AM_FREE indirection to ease swapping AM implementations.
[ROCm/hip commit: 38c735fd1d ]
2016-02-15 21:16:00 -06:00
Ben Sander
d58eab1706
Move warpSize to header, have shuffles use default warpsize.
...
[ROCm/hip commit: db3a63360b ]
2016-02-15 05:41:09 -06:00
Ben Sander
9e60e519d4
Add multi-threading synchonization on staging buffers and signals.
...
Also pre-allocate a couple signals for copies.
[ROCm/hip commit: 6420655dc8 ]
2016-02-13 03:18:01 -06:00
Ben Sander
2d468c6ce2
D2H multi-buffer
...
[ROCm/hip commit: b314777bc1 ]
2016-02-13 01:15:23 -06:00
Ben Sander
a835134f8e
Improve copy testing
...
[ROCm/hip commit: 1bfd3cdbd0 ]
2016-02-12 18:24:08 -06:00
Ben Sander
83eb66eb8e
Improve copy testing implementation.
...
- add tests for (unpinned/pinned) x H2H x D2D.
- Free memory at end of test.
[ROCm/hip commit: 134d7975ce ]
2016-02-12 18:24:08 -06:00
Ben Sander
c441d5ec29
Step1 in staging buffer copy.
...
- use StagingBuffer class for copies.
- refactor g_device to use array rather than vector.
(keeps pointers from moving).
[ROCm/hip commit: 24c1fdb864 ]
2016-02-12 18:24:08 -06:00
Ben Sander
b9dc0e9497
Query tracked memory sizes.
...
Support more accurate hipMemGetInfo. Add test to hipPointerAttrib.
[ROCm/hip commit: d7396b5af3 ]
2016-02-12 18:24:08 -06:00
Ben Sander
c1fd0e1608
Remove ! USE_PINNED_HOST support
...
[ROCm/hip commit: 0370cd1cfc ]
2016-02-12 18:24:08 -06:00
Ben Sander
305076d78f
Use memtracker 'appID' to store deviceID associated with ptr
...
[ROCm/hip commit: 00fd172c64 ]
2016-02-12 18:24:08 -06:00
Ben Sander
680b600b4a
Tracker improvements
...
- add API to add / remove user-pointers from the tracker.
- test for thread-safety with MultiThreadtest_2 - rapid
insertions/removal.
- add mutex to provide thread-safety.
- rename tracker interface to "memtracker_..." for consistency.
- add am_memtracker_reset, connect to hipDeviceReset.
-
[ROCm/hip commit: de45e2291e ]
2016-02-12 18:24:08 -06:00