Commit Graph

106 Commits

Author SHA1 Message Date
Ben Sander 4f295f4358 Add USE_AV_COPY (replaces calls to am_copy with new acc_view::copy
[ROCm/clr commit: 6fb2367b66]
2016-03-23 10:30:53 -05:00
Ben Sander 72332dccb7 use the CPU_Agent for memory copies to indicate direction.
[ROCm/clr commit: f3ac666a7a]
2016-03-23 10:29:44 -05:00
Ben Sander 236ac8e023 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/clr commit: 8954e4fb26]
2016-03-23 03:22:09 -05:00
Ben Sander 8c25bc63b9 Add unique stream_id to devices to improve debug
[ROCm/clr commit: dc86743b35]
2016-03-23 03:17:19 -05:00
Ben Sander ab9a256f47 Improve trace API
- Validate compile-time disables.
- Add README.md section explain how to install/use CodeXL tracing
- Add code docs on trace_helper.h
- fix color on hipLaunchKernel to green.


[ROCm/clr commit: fa8deac1ad]
2016-03-23 02:57:52 -05:00
Ben Sander 454faa062e HIP_TRACE_API prints function args, and in color
[ROCm/clr commit: aed1a82ccb]
2016-03-23 02:19:49 -05:00
Ben Sander f418fe4dae use codexl marker interface to mark HIP function/begin end.
- Creates markers in HIP group and they show up in CodeXL trace
- Marker text includes HIP functioin arguments
- (Add trace_helper to convert arguments to strings)
- Still need to add HIP_INIT_API for ~30 HIP functions.


[ROCm/clr commit: 54704b59dd]
2016-03-23 01:17:53 -05:00
Ben Sander 37a02661a6 hipHostRegister and hipHostMalloc refactor.
Note hipHostMalloc (not hipHostAlloc or hipMallocHost).
 -  the hipHost* is used for all HIP APIs dealing with Host memory.
    (including hipHostMalloc, hipHostFree, hipHostRegister,
hipHostUnregister, hipHostGetFlags, hipHostGetDevicePointer).
  - hipMallocHost is consistent with "hipMalloc" for allocating device
    memory.  Enumerations hipHostMalloc* also used as optional
    flags parm to hipHostMalloc.


[ROCm/clr commit: 2d0fade1f7]
2016-03-22 02:30:10 -05:00
Aditya Atluri cb2b9495f8 Revert "Revert "fixed memory free apis""
This reverts commit 70d2a03efd.


[ROCm/clr commit: 8af8ee2476]
2016-03-21 10:40:42 -05:00
Aditya Atluri 70d2a03efd Revert "fixed memory free apis"
This reverts commit 805dbd6d90.


[ROCm/clr commit: 1fa4d0d4b9]
2016-03-21 10:36:11 -05:00
Aditya Atluri 805dbd6d90 fixed memory free apis
[ROCm/clr commit: 71a6b5cb6c]
2016-03-21 10:32:30 -05:00
Aditya Atluri f3ae40baf7 suppressed warning in hipFreeHost
[ROCm/clr commit: ea352aba6b]
2016-03-20 15:31:59 -05:00
Aditya Atluri cad8b62504 Added feature for --default-streams not working tests and hipcc
[ROCm/clr commit: f6b38b18b6]
2016-03-20 08:08:33 -05:00
Ben Sander 98106c384c Implement hipHostFree on HCC path
[ROCm/clr commit: 80d708846a]
2016-03-19 23:25:11 -05:00
Ben Sander 250a2816fd Refactor copy - place common code in resolveMemoryKind.
[ROCm/clr commit: 03731020f1]
2016-03-19 22:56:10 -05:00
Ben Sander c75b63b61c Refactor waitALlDevices and async mem copy.
- move waitAllStreams to device member function.
- create separate stream member function for copyAsync, like copySync.
  hipMemcpyAsync now calls the copyAsync.


[ROCm/clr commit: a88c2b1ec9]
2016-03-19 05:42:19 -05:00
Ben Sander cf95ea5468 Swap in corrected hipHostAlloc (bad merge)
[ROCm/clr commit: aaa2429feb]
2016-03-19 04:11:08 -05:00
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