Commit Graph

102 Commits

Author SHA1 Message Date
Ben Sander 1d027bcaea Fix memcpy for Titan. Add <threads> to common includes
[ROCm/hip commit: c2d66a48a7]
2016-02-22 15:09:23 -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
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 ebf2700936 Track last command to a stream.
Passing simple tests.


[ROCm/hip commit: d33d806a5b]
2016-02-20 11:02:07 -06:00
Ben Sander 7f6001cb75 Describe how to update HTML docs
[ROCm/hip commit: d8cf65edac]
2016-02-19 01:56:17 -06:00
Ben Sander d064a446d0 remove extra :
[ROCm/hip commit: b63470f4cc]
2016-02-18 03:05:53 -06:00
Ben Sander 033914d802 Tweak version numbers
[ROCm/hip commit: b12ec21806]
2016-02-18 21:29:51 -06:00
Ben Sander bd83583d40 Update release notes
[ROCm/hip commit: 617e7d8a7d]
2016-02-18 21:07:14 -06:00
Ben Sander f54ada2a14 Search multiple dirs.
[ROCm/hip commit: 311a728d25]
2016-02-18 21:07:14 -06:00
Ben Sander 6b6d71743a Update doxygen HTML
[ROCm/hip commit: ac5957320e]
2016-02-18 21:02:39 -06:00
Ben Sander 5cb2d5fc9a Update doxygen HTML
[ROCm/hip commit: 129088992b]
2016-02-18 20:43:03 -06: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 801ae992d6 hipInfo sample update with new Device Properties.
[ROCm/hip commit: 5b05a9fef1]
2016-02-18 15:08:55 +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 c989994613 Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
[ROCm/hip commit: ba224011b0]
2016-02-17 23:06:51 -06: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
Ben Sander 16c1d446cf Tweak full formatting
[ROCm/hip commit: dffe573d49]
2016-02-17 21:22:31 -06:00
Ben Sander 21b30996cf Support HSA_PATH env, async path tweak
[ROCm/hip commit: f466b291d8]
2016-02-17 21:22:07 -06:00
Ben Sander bb8a1fe72d more work on async copies
[ROCm/hip commit: 59379ffb44]
2016-02-17 00:59:12 -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 787078f0b3 Add comments to tests
[ROCm/hip commit: fb883d9d03]
2016-02-16 01:58:24 -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 79a99f48f9 Remove old include path.
[ROCm/hip commit: 57274850f9]
2016-02-15 05:40:37 -06:00
Ben Sander b97e430921 Update docs, cleanup
[ROCm/hip commit: 4637e19da4]
2016-02-15 05:40:12 -06:00
Ben Sander 9ccdbdca71 Fix tests to account for multi-gpu
[ROCm/hip commit: 3ecd1b1539]
2016-02-15 05:19:52 -06:00
Evgeny Mankov 189e652a5e Formatting, no functional changes.
[ROCm/hip commit: 072d649d8d]
2016-02-15 13:16:05 +03: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 565d0fb968 Enable -O3, style points on array size
[ROCm/hip commit: 928996fec7]
2016-02-13 03:17:42 -06:00
Ben Sander 2d468c6ce2 D2H multi-buffer
[ROCm/hip commit: b314777bc1]
2016-02-13 01:15:23 -06:00
Ben Sander 7a633dc4b8 Result formatting
[ROCm/hip commit: c3720c19a8]
2016-02-13 01:14:01 -06:00
Ben Sander 2498ca10d1 Add D2H test
[ROCm/hip commit: bcb5953d6e]
2016-02-12 22:47:26 -06:00
Ben Sander 05e9d398f4 Add D2H test
[ROCm/hip commit: 559db057d5]
2016-02-12 22:46:34 -06:00
Ben Sander b21c2ecfa4 Add Bus Bandwidth test, leveraged from SHOC.
[ROCm/hip commit: f3fd6476eb]
2016-02-12 21:30:43 -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
Ben Sander 0a6e6e3b7e Fix bug in device bounds comparison.
Shows up in multi-GPU.


[ROCm/hip commit: e483eea85b]
2016-02-12 18:24:08 -06:00
Maneesh Gupta 5657d7bae7 Documented supported fastmath functions
[ROCm/hip commit: 447201a6a0]
2016-02-12 14:21:58 +05:30
Maneesh Gupta 99052abbdb Updated integer intrinsics documentation
[ROCm/hip commit: 2c01480131]
2016-02-12 13:58:35 +05:30
Evgeny Mankov fcd154097f 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/hip commit: ea8f99702d]
2016-02-12 01:29:20 +03:00
Evgeny Mankov c587f89de7 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/hip commit: 9f05a52c74]
2016-02-12 00:04:14 +03:00
Evgeny Mankov 4eade0ce83 BDFID (BusID/DeviceID/FunctionID) support.
Except FunctionID (or DomainID in CUDA) support, because cudaDeviceProp::pciDomainID is not reported by CUDA.


[ROCm/hip commit: 33f60c300d]
2016-02-11 22:26:01 +03:00