Граф коммитов

24 Коммитов

Автор SHA1 Сообщение Дата
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
Ben Sander 6856d28ca3 more work on async copies
[ROCm/clr commit: 0cdbe1ff05]
2016-02-17 00:59:12 -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 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