提交線圖

404 次程式碼提交

作者 SHA1 備註 日期
pensun 3236c75b87 improve the HIP_VISIBLE_DEVICES implementation
[ROCm/clr commit: 17987b42c5]
2016-02-27 14:14:08 -06:00
pensun e240619d84 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: bcbc76470d]
2016-02-27 04:25:28 -06:00
Aditya Avinash Atluri a44710cd7a Merge pull request #4 from AMDComputeLibraries/memtracker
hipGetPointerAttrib behavioral changes

[ROCm/clr commit: 9c4819bc29]
2016-02-27 10:51:23 -06:00
Ben Sander 9edf27447e disable rocrv2, properly
[ROCm/clr commit: 3eb281aeff]
2016-02-27 03:31:30 -06:00
Aditya Avinash Atluri 40726aa9a1 Corrected hipPointerGetAttribute
Made hipPointerGetAttribute work same as cudaPointerGetAttribute for HCC

[ROCm/clr commit: 2ca6162593]
2016-02-26 18:50:40 -06:00
pensun f9748334cc relsove conflicts
[ROCm/clr commit: e21841c152]
2016-02-26 09:57:40 -06:00
pensun 35cbad1c77 fix compiling error
[ROCm/clr commit: 980ec93f46]
2016-02-26 09:50:00 -06:00
Ben Sander b97c2c02b1 fixes for titan platform
[ROCm/clr commit: 8105bd636f]
2016-02-26 05:25:30 -06:00
Ben Sander d5ae77ecc0 Disable ROCR_V2
[ROCm/clr commit: 822c7292c9]
2016-02-26 23:34:45 -06:00
Ben Sander e345f23846 Merge branch 'memtracker' into privatestaging
Conflicts:
	include/nvcc_detail/hip_runtime_api.h


[ROCm/clr commit: 7a1b4c3878]
2016-02-26 06:17:05 -06:00
Ben Sander ee153bb572 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 4a6173fe58]
2016-02-26 06:15:09 -06:00
Ben Sander d1e06b19fc Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
Conflicts:
	tests/src/hipMemcpy.cpp


[ROCm/clr commit: 8d985188dd]
2016-02-25 23:22:51 -06:00
Ben Sander b8b7596d4d Merge branch 'memtracker' into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/clr commit: af97f5e317]
2016-02-25 19:38:46 -06:00
Ben Sander d2df45e132 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/clr commit: 91ed5c7d78]
2016-02-25 19:19:49 -06:00
Evgeny Mankov 8e6e28df60 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/clr commit: 7bb0f17656]
2016-02-25 23:44:39 +03:00
Ben Sander 08f8387268 Add tests for multi-threaded streams
[ROCm/clr commit: 836c485d0b]
2016-02-23 12:08:22 -06:00
Ben Sander bb27a1d7e8 Sync review.
- add calls to ihipInit missing from some routines.
- sync before draining a stream.


[ROCm/clr commit: 8f98aca124]
2016-02-23 04:07:11 -06:00
Ben Sander da37035a9c 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/clr commit: 28990567fb]
2016-02-22 23:15:24 -06:00
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 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