Commit Graph

107 Commits

Author SHA1 Message Date
Aditya Atluri 36d0da99c1 Remove redundant hpiHostGetDevicePointer 2016-03-23 09:21:02 -05:00
Ben Sander 6ab48d7b90 Add USE_AV_COPY (replaces calls to am_copy with new acc_view::copy 2016-03-23 10:30:53 -05:00
Ben Sander 0f81c5bcf2 use the CPU_Agent for memory copies to indicate direction. 2016-03-23 10:29:44 -05:00
Ben Sander d07b347cac Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp
2016-03-23 03:22:09 -05:00
Ben Sander f863c5c6aa Add unique stream_id to devices to improve debug 2016-03-23 03:17:19 -05:00
Ben Sander 2569e15375 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.
2016-03-23 02:57:52 -05:00
Ben Sander 33bbf1463f HIP_TRACE_API prints function args, and in color 2016-03-23 02:19:49 -05:00
Ben Sander b6b3fea05b 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.
2016-03-23 01:17:53 -05:00
Ben Sander ab910efb96 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.
2016-03-22 02:30:10 -05:00
Aditya Atluri 52cf63472c Revert "Revert "fixed memory free apis""
This reverts commit 287ba34aca.
2016-03-21 10:40:42 -05:00
Aditya Atluri 287ba34aca Revert "fixed memory free apis"
This reverts commit 96a1899df7.
2016-03-21 10:36:11 -05:00
Aditya Atluri 96a1899df7 fixed memory free apis 2016-03-21 10:32:30 -05:00
Aditya Atluri 6b3821afc7 suppressed warning in hipFreeHost 2016-03-20 15:31:59 -05:00
Aditya Atluri a232d65db1 Added feature for --default-streams not working tests and hipcc 2016-03-20 08:08:33 -05:00
Ben Sander deb38625ca Implement hipHostFree on HCC path 2016-03-19 23:25:11 -05:00
Ben Sander 194d02ac5a Refactor copy - place common code in resolveMemoryKind. 2016-03-19 22:56:10 -05:00
Ben Sander 52cc2bb75a 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.
2016-03-19 05:42:19 -05:00
Ben Sander d898997c65 Swap in corrected hipHostAlloc (bad merge) 2016-03-19 04:11:08 -05:00
Ben Sander 1de63bfeea Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp
2016-03-19 03:22:09 -05:00
Ben Sander 6472c8b915 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.
2016-03-19 02:44:26 -05:00
Ben Sander 0af4d3623f 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
2016-03-18 03:02:00 -05:00
Ben Sander 7d500599fa 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.
2016-03-17 20:09:10 -05:00
Ben Sander e7586adb33 Refactor to isolate staging buffer code. 2016-03-17 00:20:56 -05:00
Ben Sander 28ee7aff71 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.
2016-03-16 22:26:49 -05:00
Ben Sander ec50cbb3aa Checkpoint code cleanup.
- Refactor ihipStream in prep for thread-safe implementation.
- Do some work on PinInPlace implementation.
2016-03-16 21:16:29 -05:00
Aditya Atluri 1e588e56e0 changed flag in hipHostRegister 2016-03-16 08:01:53 -05:00
Aditya Atluri b768568902 src/ fixed hipHostAllocDefault flags 2016-03-16 07:32:54 -05:00
Ben Sander e1617b9604 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp
	tests/src/CMakeLists.txt
2016-03-14 15:01:26 -05:00
Ben Sander 1a27e5134e enable DB, comments 2016-03-14 14:40:41 -05:00
Ben Sander b0dca6bd0c Remove ROCR_V2, assume=1 2016-03-12 04:08:13 -06:00
Ben Sander a5a2c7f33c Remove USE_AM_TRACKER (assume 1) 2016-03-12 04:04:57 -06:00
Ben Sander 250739666d Improve error reporting.
use throw with error class.
fix bug when memcpyDefault resolved to D2D copy.
2016-03-12 04:02:04 -06:00
Aditya Atluri 102f173396 Added hipHostRegister for hip with tests and added copyright 2016-03-08 12:57:22 -06:00
Aditya Atluri 18c0e69f51 v2 added support for unpinned async memcpy 2016-03-08 03:19:50 -06:00
Aditya Atluri 45965aaa2d Revert "Fixed passing unpinned memory to async memcpy"
This reverts commit 216af71480.
2016-03-08 03:17:27 -06:00
Aditya Atluri 216af71480 Fixed passing unpinned memory to async memcpy 2016-03-08 03:14:49 -06:00
Ben Sander aa03e1264c 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
Aditya Atluri 75952029d6 added feature for hipHostGetFlags for CUDA and HIP 2016-03-06 12:17:30 -06:00
Aditya Atluri 1f3695b224 added flags support to be used later 2016-03-06 08:40:33 -06:00
Aditya Atluri d3ba2b9782 corrected hipDeviceGetProperties to hipGetDeviceProperties - not docs 2016-03-06 08:31:04 -06:00
Aditya Atluri 3aa764d5eb Added hipHostAlloc with hipHostAllocMapped flag 2016-03-05 15:57:56 -06:00
Ben Sander 6d4c830613 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-04 08:22:56 -06:00
Ben Sander ed71cded1c Add FORCE_SAMEDIR_DEP for copies. 2016-03-04 08:21:15 -06:00
Aditya Atluri bd23279271 v2: Fixed implementation of hipMemcpyDefault flag 2016-03-04 06:00:04 -06:00
Ben Sander 5e51ff177a Add define to disable STREAM thread-safety 2016-03-03 10:49:25 -06:00
Aditya Atluri c154e1f4e4 Added support for hipMemcpyDefault 2016-03-03 10:30:06 -06:00
Aditya Avinash Atluri 40eefc1cde Update hip_hcc.cpp 2016-03-03 13:59:43 -06:00
Aditya Avinash Atluri b6e34a44b0 Fix output of hipPointerGetAttributes
The output of hipPointerGetAttributes is fixed to match CUDA counterpart.
2016-03-03 13:58:18 -06:00
Aditya Atluri ce7ae41d42 Initialize hip when single kernel is called 2016-03-02 08:08:45 -06:00
Aditya Avinash Atluri 180bc32db0 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