Commit Graph

410 Commits

Author SHA1 Message Date
Aditya Avinash Atluri 33497678f2 Fix output of hipPointerGetAttributes
The output of hipPointerGetAttributes is fixed to match CUDA counterpart.

[ROCm/clr commit: 7b868eb274]
2016-03-03 13:58:18 -06:00
Aditya Atluri 5e0a69801a Initialize hip when single kernel is called
[ROCm/clr commit: 5efc4ce08a]
2016-03-02 08:08:45 -06:00
Aditya Avinash Atluri a8af2285a1 H2H Async memcpy fix
In this change, the cpu memcpy will wait until all the commands in the current stream are done.
Note that, it only waits on current stream. But not on other streams.

[ROCm/clr commit: a845dccfef]
2016-02-29 12:49:50 -06:00
Ben Sander d6c404e6f6 Copy dependency bug fixes and test modes.
Add dependency for host-to-host copy.

Add debug mode for HIP_DISABLE_HW_COPY_DEP and
HIP_DISABLE_HW_KERNEL_DEP - setting these to -1 now ignores
all dependencies.


[ROCm/clr commit: 4909faf8e3]
2016-02-28 21:19:49 -06:00
Ben Sander 62bae97cf7 touchup
[ROCm/clr commit: be0d3510f5]
2016-02-28 21:08:53 -06:00
pensun 4ada8d4ad9 Test cases for HIP_VISIBLE_DEVICES/CUDA_VISIBLE_DEVICES.
hipEnvVar is the base test case, to be called by hipEnvVarDriver
at the run time.
Test case includes tests for normal use case of the environment
variable, invalid value/sequence and use CUDA_VISIBLE_DEVICES as a
alternative.


[ROCm/clr commit: ee53ef507f]
2016-02-27 14:48:00 -06:00
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