提交線圖

68 次程式碼提交

作者 SHA1 備註 日期
Ben Sander ac272932f6 Improve error reporting.
use throw with error class.
fix bug when memcpyDefault resolved to D2D copy.
2016-03-12 04:02:04 -06:00
Ben Sander 9b1b108ea8 Enhance HIP trace debug functions.
- Control with HIP_DB=mask (env var).  See src/hip_hcc.cpp for mask
  values:
    #define DB_API    0 /* 0x01 - shortcut to enable HIP_TRACE_API on single switch */
    #define DB_SYNC   1 /* 0x02 - trace synchronization pieces */
    #define DB_MEM    2 /* 0x04 - trace memory allocation / deallocation */
    #define DB_COPY1  3 /* 0x08 - trace memory copy commands. . */
    #define DB_SIGNAL 4 /* 0x10 - trace signal pool commands */
- Combine with HIP_TRACE to see debug with API trace.
- Use colors to distinguish different flows of debug.
- Add define COMPILE_DB_TRACE to allow removing all debug at compile-time
2016-03-06 23:50:52 -06:00
Ben Sander 5a3b3e1be4 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-04 08:22:56 -06:00
Ben Sander 4a1238cf64 Add FORCE_SAMEDIR_DEP for copies. 2016-03-04 08:21:15 -06:00
Ben Sander b529941f70 Add define to disable STREAM thread-safety 2016-03-03 10:49:25 -06:00
Aditya Atluri 696476f3e0 Added support for hipMemcpyDefault 2016-03-03 10:30:06 -06:00
Aditya Avinash Atluri 6d9184b7a9 Update hip_hcc.cpp 2016-03-03 13:59:43 -06:00
Aditya Avinash Atluri 7b868eb274 Fix output of hipPointerGetAttributes
The output of hipPointerGetAttributes is fixed to match CUDA counterpart.
2016-03-03 13:58:18 -06:00
Aditya Atluri 5efc4ce08a Initialize hip when single kernel is called 2016-03-02 08:08:45 -06:00
Aditya Avinash Atluri a845dccfef 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.
2016-02-29 12:49:50 -06:00
Ben Sander 4909faf8e3 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.
2016-02-28 21:19:49 -06:00
Ben Sander be0d3510f5 touchup 2016-02-28 21:08:53 -06:00
pensun ee53ef507f 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.
2016-02-27 14:48:00 -06:00
pensun 17987b42c5 improve the HIP_VISIBLE_DEVICES implementation 2016-02-27 14:14:08 -06:00
pensun bcbc76470d Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-02-27 04:25:28 -06:00
Aditya Avinash Atluri 9c4819bc29 Merge pull request #4 from AMDComputeLibraries/memtracker
hipGetPointerAttrib behavioral changes
2016-02-27 10:51:23 -06:00
Ben Sander 3eb281aeff disable rocrv2, properly 2016-02-27 03:31:30 -06:00
Aditya Avinash Atluri 2ca6162593 Corrected hipPointerGetAttribute
Made hipPointerGetAttribute work same as cudaPointerGetAttribute for HCC
2016-02-26 18:50:40 -06:00
pensun e21841c152 relsove conflicts 2016-02-26 09:57:40 -06:00
pensun 980ec93f46 fix compiling error 2016-02-26 09:50:00 -06:00
Ben Sander 8105bd636f fixes for titan platform 2016-02-26 05:25:30 -06:00
Ben Sander 822c7292c9 Disable ROCR_V2 2016-02-26 23:34:45 -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 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 836c485d0b Add tests for multi-threaded streams 2016-02-23 12:08:22 -06:00
Ben Sander 8f98aca124 Sync review.
- add calls to ihipInit missing from some routines.
- sync before draining a stream.
2016-02-23 04:07:11 -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 16b04fc0d3 Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker 2016-02-22 08:33:47 -06:00
gargrahul 14508fd0d6 Update for shared atomics support 2016-02-22 16:21:52 +05:30
Ben Sander d5c777268a Track last command to a stream.
Passing simple tests.
2016-02-20 11:02:07 -06: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
Evgeny Mankov 14ec340746 Formatting, no functional changes. 2016-02-18 18:54:19 +03: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 400dcb8bcb Enable Tracker and ROCR by default, verify with HCC 2016-02-17 23:03:37 -06:00
Ben Sander b08e468c06 Remove HIP-local AM tracker (now in HCC) 2016-02-17 21:33:32 -06:00
Ben Sander 354c9f945a USE_AM_TRACKER=0 works 2016-02-17 21:23:36 -06:00
pensun c1da0f1e12 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.
2016-02-17 09:32:50 -06:00
pensun 43785243a5 Implementation of HIP_VISIBLE_DEVICES in runtime 2016-02-17 06:59:18 -06:00
Ben Sander 0cdbe1ff05 more work on async copies 2016-02-17 00:59:12 -06:00
pensun 7309e9ea6a modify to add remove invalid devices numbers 2016-02-16 10:00:05 -06:00
pensun 45d863851d Implement to read HIP_VISIBLE_DEVICES to internal global variable 2016-02-16 07:39:04 -06:00
Ben Sander 5d721a2649 Add per-stream pool for hsa_signals. 2016-02-16 01:59:13 -06:00
Ben Sander 1ed431c0f6 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.
2016-02-15 21:16:00 -06:00
Ben Sander bd7e3b83b9 Move warpSize to header, have shuffles use default warpsize. 2016-02-15 05:41:09 -06:00