Ben Sander
3b8a545ba7
Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
...
[ROCm/clr commit: 16b04fc0d3 ]
2016-02-22 08:33:47 -06:00
gargrahul
9bb7be6891
Update for shared atomics support
...
[ROCm/clr commit: 14508fd0d6 ]
2016-02-22 16:21:52 +05:30
Ben Sander
4752321fb1
Track last command to a stream.
...
Passing simple tests.
[ROCm/clr commit: d5c777268a ]
2016-02-20 11:02:07 -06:00
Evgeny Mankov
c76791140d
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/clr commit: d4b15399f5 ]
2016-02-19 13:27:03 +03:00
Evgeny Mankov
420eea7379
Formatting, no functional changes.
...
[ROCm/clr commit: 14ec340746 ]
2016-02-18 18:54:19 +03:00
Evgeny Mankov
a17733dd80
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/clr commit: da8169dd89 ]
2016-02-18 18:15:01 +03:00
Evgeny Mankov
a47073f25d
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/clr commit: 8aace64dce ]
2016-02-18 17:25:28 +03:00
Evgeny Mankov
3faa6fd86c
Attribute hipDevAttrConcurrentKernels for obtaining Device property concurrentKernels is added.
...
[ROCm/clr commit: d4bd94e9a0 ]
2016-02-18 14:34:18 +03:00
Ben Sander
f19c6d8342
Enable Tracker and ROCR by default, verify with HCC
...
[ROCm/clr commit: 400dcb8bcb ]
2016-02-17 23:03:37 -06:00
Ben Sander
8ed32daefa
Remove HIP-local AM tracker (now in HCC)
...
[ROCm/clr commit: b08e468c06 ]
2016-02-17 21:33:32 -06:00
Ben Sander
98e608a5ce
USE_AM_TRACKER=0 works
...
[ROCm/clr commit: 354c9f945a ]
2016-02-17 21:23:36 -06:00
pensun
60f00e4e8a
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/clr commit: c1da0f1e12 ]
2016-02-17 09:32:50 -06:00
pensun
afc377b2bc
Implementation of HIP_VISIBLE_DEVICES in runtime
...
[ROCm/clr commit: 43785243a5 ]
2016-02-17 06:59:18 -06:00
Ben Sander
6856d28ca3
more work on async copies
...
[ROCm/clr commit: 0cdbe1ff05 ]
2016-02-17 00:59:12 -06:00
pensun
31bba31b90
modify to add remove invalid devices numbers
...
[ROCm/clr commit: 7309e9ea6a ]
2016-02-16 10:00:05 -06:00
pensun
07e4d8261c
Implement to read HIP_VISIBLE_DEVICES to internal global variable
...
[ROCm/clr commit: 45d863851d ]
2016-02-16 07:39:04 -06:00
Ben Sander
0e83efe14d
Add per-stream pool for hsa_signals.
...
[ROCm/clr commit: 5d721a2649 ]
2016-02-16 01:59:13 -06:00
Ben Sander
f8f40e07bf
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/clr commit: 1ed431c0f6 ]
2016-02-15 21:16:00 -06:00
Ben Sander
93c07bc3d1
Move warpSize to header, have shuffles use default warpsize.
...
[ROCm/clr commit: bd7e3b83b9 ]
2016-02-15 05:41:09 -06:00
Ben Sander
84810268c0
Update docs, cleanup
...
[ROCm/clr commit: 322a3bd9b2 ]
2016-02-15 05:40:12 -06:00
Ben Sander
ed618e637e
Add multi-threading synchonization on staging buffers and signals.
...
Also pre-allocate a couple signals for copies.
[ROCm/clr commit: 8939b4f0e5 ]
2016-02-13 03:18:01 -06:00
Ben Sander
61b2c054a2
D2H multi-buffer
...
[ROCm/clr commit: a002833a89 ]
2016-02-13 01:15:23 -06:00
Ben Sander
b8ea1ec374
Improve copy testing
...
[ROCm/clr commit: 2353cbb028 ]
2016-02-12 18:24:08 -06:00
Ben Sander
4dfe77a99b
Improve copy testing implementation.
...
- add tests for (unpinned/pinned) x H2H x D2D.
- Free memory at end of test.
[ROCm/clr commit: 1128610801 ]
2016-02-12 18:24:08 -06:00
Ben Sander
89e461988e
Step1 in staging buffer copy.
...
- use StagingBuffer class for copies.
- refactor g_device to use array rather than vector.
(keeps pointers from moving).
[ROCm/clr commit: 90af462b85 ]
2016-02-12 18:24:08 -06:00
Ben Sander
5978d5f372
Query tracked memory sizes.
...
Support more accurate hipMemGetInfo. Add test to hipPointerAttrib.
[ROCm/clr commit: f464cedcf4 ]
2016-02-12 18:24:08 -06:00
Ben Sander
80d7c867d1
Remove ! USE_PINNED_HOST support
...
[ROCm/clr commit: f2c1bf3bc0 ]
2016-02-12 18:24:08 -06:00
Ben Sander
712750e1a5
Use memtracker 'appID' to store deviceID associated with ptr
...
[ROCm/clr commit: c04b5d3afb ]
2016-02-12 18:24:08 -06:00
Ben Sander
2089e549eb
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/clr commit: 7216727fba ]
2016-02-12 18:24:08 -06:00
Ben Sander
fe67be1134
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/clr commit: 721508cc2f ]
2016-02-12 18:24:08 -06:00
Ben Sander
a50fa0f78e
Fix bug in device bounds comparison.
...
Shows up in multi-GPU.
[ROCm/clr commit: f1bc9af294 ]
2016-02-12 18:24:08 -06:00
Evgeny Mankov
6add51ef8c
Fix typo: maxThreadsPerMultiProcessor -> MaxSharedMemoryPerMultiprocessor
...
Device property MaxSharedMemoryPerMultiprocessor set equal to totalGlobalMem (HIP path).
Reason: MaxSharedMemoryPerMultiprocessor should be as the same as group memory size. Group memory will not be paged out, so, the physical memory size = total shared memory size = group region size. NVCC path remains untouched: CUDA's device property MaxSharedMemoryPerMultiprocessor is reported.
hipify is updated as well.
[ROCm/clr commit: 460b501cbb ]
2016-02-12 01:29:20 +03:00
Evgeny Mankov
735d4738ad
Device property maxThreadsPerMultiProcessor set equal to totalGlobalMem (HIP path).
...
Reason: maxThreadsPerMultiProcessor should be as the same as group memory size. Group memory will not be paged out, so, the physical memory size = total shared memory size = group region size.
NVCC path remains untouched: CUDA's device property maxThreadsPerMultiProcessor is reported.
[ROCm/clr commit: 1025341300 ]
2016-02-12 00:04:14 +03:00
Evgeny Mankov
a8b7647f8b
BDFID (BusID/DeviceID/FunctionID) support.
...
Except FunctionID (or DomainID in CUDA) support, because cudaDeviceProp::pciDomainID is not reported by CUDA.
[ROCm/clr commit: 658e9f0484 ]
2016-02-11 22:26:01 +03:00
Evgeny Mankov
9f596e0aab
Device property concurrentKernels is added to hipDeviceProp_t struct.
...
For HCC path concurrentKernels is set to true since all ROCR hardware supports this feature.
For NVCC path concurrentKernels is obtained from CUDA's device property cudaDeviceProp::concurrentKernels.
[ROCm/clr commit: 4d4ca3ef3f ]
2016-02-09 17:10:35 +03:00
Sam Kolton
136baccbe5
Implementation of hipDeviceGetAttribute()
...
[ROCm/clr commit: afe45964ae ]
2016-02-04 17:39:27 +03:00
Ben Sander
28f87a0428
Initial commit for GPUOpen Launch
...
[ROCm/clr commit: 304171c1a2 ]
2016-01-26 20:14:33 -06:00