Commit Graph

239 Commits

Author SHA1 Message Date
Ben Sander 3305c49949 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/clr commit: 90ad8ddc5d]
2016-03-19 03:22:09 -05:00
Ben Sander 1abdd6602f Fix copy and sync bugs. Remove extra sync in default stream.
- NULL stream was waiting for itself to be empty before each command.
- Force "blocking" streams to wait for NULL to empty.  This was missing
  before.
- async copy was disabling itself via trueAsync=false for common cases.

Refactor:
- rename _null_stream to _default_stream.
- move some null sync function to defaultSync, move to dev member func.


[ROCm/clr commit: 44522eb607]
2016-03-19 02:44:26 -05:00
Ben Sander b1fe0120ca Refactor copy code.
-Move staging buffer locks inside the staging buffer code.
-Remove dedicated per-device completion_signal + per-device lock -
instead allocated signal from the per-stream pool.   This elimintes
the lock and allows more concurrency.
-remove switch HIP_DISABLE_BIDIR_MEMCPY


[ROCm/clr commit: e64174f47a]
2016-03-18 03:02:00 -05:00
Ben Sander a0d3c018c0 Refactor staging buffer and sync copies.
- refactor staging buffer to operate on hsa* data structures not
  hc::accelerator.
- use hsa_memory_allocate to allocate staging buffers rather than
  am_alloc.
- Refactor device reset with single member function.  Don't reallocate
  staging buffers on reset.
- Properly track dependencies based on command type.  Add new deps for
  H2D and D2D rather than overloading H2D.


[ROCm/clr commit: 3b45e064f9]
2016-03-17 20:09:10 -05:00
Ben Sander dd90a8ff34 Refactor to isolate staging buffer code.
[ROCm/clr commit: 1b7cc7d921]
2016-03-17 00:20:56 -05:00
Ben Sander 622902d408 Start separaration of staging_buffer.cpp code.
Still #include staging_buffer.cpp into hip_hcc.cpp.
Directed tests compile hip_hcc to static library and use the library.


[ROCm/clr commit: a1879ba59b]
2016-03-16 22:26:49 -05:00
Ben Sander 931b58f438 Checkpoint code cleanup.
- Refactor ihipStream in prep for thread-safe implementation.
- Do some work on PinInPlace implementation.


[ROCm/clr commit: 8acb53e160]
2016-03-16 21:16:29 -05:00
Aditya Atluri b3612a7356 changed flag in hipHostRegister
[ROCm/clr commit: 4b96e8c789]
2016-03-16 08:01:53 -05:00
Aditya Atluri 420797aed8 src/ fixed hipHostAllocDefault flags
[ROCm/clr commit: 6beed19460]
2016-03-16 07:32:54 -05:00
Ben Sander 19a0fb0e0e Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp
	tests/src/CMakeLists.txt


[ROCm/clr commit: 15a8e8f8a0]
2016-03-14 15:01:26 -05:00
Ben Sander a24528abcb enable DB, comments
[ROCm/clr commit: 0d05517d0a]
2016-03-14 14:40:41 -05:00
Ben Sander 5efb582db5 Remove ROCR_V2, assume=1
[ROCm/clr commit: 59f0ef2801]
2016-03-12 04:08:13 -06:00
Ben Sander a236942ca5 Remove USE_AM_TRACKER (assume 1)
[ROCm/clr commit: de4bb0ca0e]
2016-03-12 04:04:57 -06:00
Ben Sander d6ad50c2e0 Improve error reporting.
use throw with error class.
fix bug when memcpyDefault resolved to D2D copy.


[ROCm/clr commit: ac272932f6]
2016-03-12 04:02:04 -06:00
Aditya Atluri 6162990f44 Added hipHostRegister for hip with tests and added copyright
[ROCm/clr commit: 3127969d97]
2016-03-08 12:57:22 -06:00
Aditya Atluri 5a501d065f v2 added support for unpinned async memcpy
[ROCm/clr commit: dfa9051574]
2016-03-08 03:19:50 -06:00
Aditya Atluri 85f961cc6b Revert "Fixed passing unpinned memory to async memcpy"
This reverts commit e98925075b.


[ROCm/clr commit: 1a61733699]
2016-03-08 03:17:27 -06:00
Aditya Atluri e98925075b Fixed passing unpinned memory to async memcpy
[ROCm/clr commit: bf53992605]
2016-03-08 03:14:49 -06:00
Ben Sander ad3972fdcd 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


[ROCm/clr commit: 9b1b108ea8]
2016-03-06 23:50:52 -06:00
Aditya Atluri d7d689cf32 added feature for hipHostGetFlags for CUDA and HIP
[ROCm/clr commit: 45408db5dc]
2016-03-06 12:17:30 -06:00
Aditya Atluri b07ad6cc93 added flags support to be used later
[ROCm/clr commit: d5499594ce]
2016-03-06 08:40:33 -06:00
Aditya Atluri e5657dec23 corrected hipDeviceGetProperties to hipGetDeviceProperties - not docs
[ROCm/clr commit: 8a21b42943]
2016-03-06 08:31:04 -06:00
Aditya Atluri 387bd2e1a7 Added hipHostAlloc with hipHostAllocMapped flag
[ROCm/clr commit: 411154f93f]
2016-03-05 15:57:56 -06:00
Ben Sander b7b1577a90 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 5a3b3e1be4]
2016-03-04 08:22:56 -06:00
Ben Sander 6957beab37 Add FORCE_SAMEDIR_DEP for copies.
[ROCm/clr commit: 4a1238cf64]
2016-03-04 08:21:15 -06:00
Aditya Atluri 89cfcc40be v2: Fixed implementation of hipMemcpyDefault flag
[ROCm/clr commit: d145e9d83c]
2016-03-04 06:00:04 -06:00
Ben Sander 0e147cbcda Add define to disable STREAM thread-safety
[ROCm/clr commit: b529941f70]
2016-03-03 10:49:25 -06:00
Aditya Atluri fa46125c1f Added support for hipMemcpyDefault
[ROCm/clr commit: 696476f3e0]
2016-03-03 10:30:06 -06:00
Aditya Avinash Atluri e200fa6229 Update hip_hcc.cpp
[ROCm/clr commit: 6d9184b7a9]
2016-03-03 13:59:43 -06:00
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