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
Ben Sander
d4a90f8afd
Create address tracker for am_alloc.
...
Tracks device where memory is allocated, pinned-host or device, and
more.
Uses memory-range-based lookups - so pointers that exist anywhere in
the range of hostPtr + size will find the associated AmPointerInfo.
The insertions and lookups use a self-balancing binary tree and
should support O(logN) lookup speed.
[ROCm/hip commit: 4ee2a5229b ]
2016-02-12 18:24:08 -06:00