Commit Graph

60 Commits

Author SHA1 Message Date
pensun 43e156c002 add test case and its driver for HIP_VISIBLE_DEVICES/CUDA_VISIBLE_DEVICES 2016-02-27 09:43:38 -06:00
Aditya Avinash Atluri 9c4819bc29 Merge pull request #4 from AMDComputeLibraries/memtracker
hipGetPointerAttrib behavioral changes
2016-02-27 10:51:23 -06:00
Aditya Avinash Atluri e9a9c760fc Updated hipPointerAttrib.cpp to pass HC backend
The changes are according to the new API function change in HC backend for HIP. Especially hipPointerGetAttribute(...)
2016-02-26 19:42:07 -06:00
Aditya Avinash Atluri db8bedc4d3 Update README.md 2016-02-26 19:39:14 -06:00
Aditya Avinash Atluri 08a82b405a Update README.md 2016-02-26 19:38:22 -06:00
Ben Sander 8105bd636f fixes for titan platform 2016-02-26 05:25:30 -06:00
Ben Sander 7a1b4c3878 Merge branch 'memtracker' into privatestaging
Conflicts:
	include/nvcc_detail/hip_runtime_api.h
2016-02-26 06:17:05 -06:00
Ben Sander 4a6173fe58 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-02-26 06:15:09 -06:00
Ben Sander 69bb511b10 Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
Conflicts:
	tests/src/hipMemcpy.cpp
2016-02-25 23:24:22 -06:00
Ben Sander 8d985188dd Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
Conflicts:
	tests/src/hipMemcpy.cpp
2016-02-25 23:22:51 -06:00
Ben Sander af97f5e317 Merge branch 'memtracker' into privatestaging
Conflicts:
	src/hip_hcc.cpp
2016-02-25 19:38:46 -06:00
Ben Sander 91ed5c7d78 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.
2016-02-25 19:19:49 -06:00
Evgeny Mankov 7bb0f17656 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).
2016-02-25 23:44:39 +03:00
Ben Sander 2228bbd119 Add test for thread-safety on streams 2016-02-25 04:22:34 -06:00
Ben Sander 382638df1e Add abstraction for pinned/unpinned, and sync/async mem copies selection in tests 2016-02-25 04:21:24 -06:00
Ben Sander 836c485d0b Add tests for multi-threaded streams 2016-02-23 12:08:22 -06:00
Ben Sander 28990567fb 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.
2016-02-22 23:15:24 -06:00
Ben Sander 784ebcbc86 Fix memcpy for Titan. Add <threads> to common includes 2016-02-22 15:09:23 -06:00
Ben Sander 16b04fc0d3 Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker 2016-02-22 08:33:47 -06:00
Maneesh Gupta e2d97e19bc Enable cospi,rsqrt,sinpi tests for HCC newer than 16073 2016-02-22 15:13:23 +05:30
Ben Sander d5c777268a Track last command to a stream.
Passing simple tests.
2016-02-20 11:02:07 -06:00
streamhsa 005155b7b2 Resolve issues for hip_popc and hip_ballot on nvcc 2016-02-19 20:18:03 +08:00
Evgeny Mankov d4b15399f5 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
2016-02-19 13:27:03 +03:00
Ben Sander 16ff0757a6 Describe how to update HTML docs 2016-02-19 01:56:17 -06:00
Evgeny Mankov da8169dd89 Device property memoryBusWidth implementation.
+ Device property memoryBusWidth is added to hipDeviceProp_t struct.
+ Device attribute hipDeviceAttributeMemoryBusWidth is added to hipDeviceAttribute_t struct.
+ Tests update.
2016-02-18 18:15:01 +03:00
Evgeny Mankov 8aace64dce 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.
2016-02-18 17:25:28 +03:00
Evgeny Mankov d4bd94e9a0 Attribute hipDevAttrConcurrentKernels for obtaining Device property concurrentKernels is added. 2016-02-18 14:34:18 +03:00
Ben Sander d0f9881d60 Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker 2016-02-17 23:06:51 -06:00
Ben Sander 9a82d316c3 Support HSA_PATH env, async path tweak 2016-02-17 21:22:07 -06:00
Ben Sander 0cdbe1ff05 more work on async copies 2016-02-17 00:59:12 -06:00
Ben Sander 731a2a58d3 Add comments to tests 2016-02-16 01:58:24 -06:00
Ben Sander 3b2d4acabc Remove old include path. 2016-02-15 05:40:37 -06:00
Ben Sander afbe451b0d Fix tests to account for multi-gpu 2016-02-15 05:19:52 -06:00
Ben Sander 8939b4f0e5 Add multi-threading synchonization on staging buffers and signals.
Also pre-allocate a couple signals for copies.
2016-02-13 03:18:01 -06:00
Ben Sander a002833a89 D2H multi-buffer 2016-02-13 01:15:23 -06:00
Ben Sander 2353cbb028 Improve copy testing 2016-02-12 18:24:08 -06:00
Ben Sander 1128610801 Improve copy testing implementation.
- add tests for (unpinned/pinned) x H2H x D2D.
- Free memory at end of test.
2016-02-12 18:24:08 -06:00
Ben Sander 90af462b85 Step1 in staging buffer copy.
- use StagingBuffer class for copies.
- refactor g_device to use array rather than vector.
   (keeps pointers from moving).
2016-02-12 18:24:08 -06:00
Ben Sander f464cedcf4 Query tracked memory sizes.
Support more accurate hipMemGetInfo.  Add test to hipPointerAttrib.
2016-02-12 18:24:08 -06:00
Ben Sander 7216727fba 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.
-
2016-02-12 18:24:08 -06:00
Ben Sander 721508cc2f 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.
2016-02-12 18:24:08 -06:00
Evgeny Mankov 460b501cbb 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.
2016-02-12 01:29:20 +03:00
Evgeny Mankov 658e9f0484 BDFID (BusID/DeviceID/FunctionID) support.
Except FunctionID (or DomainID in CUDA) support, because cudaDeviceProp::pciDomainID is not reported by CUDA.
2016-02-11 22:26:01 +03:00
Maneesh Gupta ed2d86f3a9 Updated readme for test 2016-02-11 13:06:58 +05:30
streamhsa 90add185fd Remove test for atomicInc and atomicDec 2016-02-10 21:02:52 +08:00
streamhsa 56f1832e70 Updated readme for test 2016-02-10 20:05:59 +08:00
streamhsa 2f8d56e903 Resolved test issues 2016-02-10 20:01:16 +08:00
streamhsa 310023e273 Rename test hipInfo as hipGetDeviceAttribute 2016-02-09 13:19:32 +08:00
Ben Sander ce2fc0f7fe Test fixes:
- Remove reference to missing test.
- Add hipMemset back.
- Parse --gpu option to specify default starting GPU.
2016-02-08 22:55:23 -06:00
Ben Sander c482a3f456 in HIPCHECK, only run command once even if error occurs 2016-02-08 21:45:49 -06:00