Commit Graph

113 Commits

Author SHA1 Message Date
Aditya Atluri e0c6809779 moved variables to headers
[ROCm/hip commit: 7920fd9a47]
2016-03-23 12:59:52 -05:00
Aditya Atluri 6841aa084c reverted back to old infra with cmake added
[ROCm/hip commit: 5637bde4b3]
2016-03-23 11:13:02 -05:00
Aditya Atluri 4ca4cae3fa WIP added modular feature for device apis
[ROCm/hip commit: 89bfc0e375]
2016-03-23 07:54:01 -05:00
Ben Sander 7632b769a0 Update docs:
- Some comments in hip_hcc.cpp
 - document hipHostRegister* flags.
 - expand docs on hipHostRegister/Unregister. Use "register" rather than
   "pin" to describe action these take.
 - change required CUDA version to 6 (require unified memory)
 - remake doxygen.


[ROCm/hip commit: eced013ae4]
2016-03-23 23:11:15 -05:00
Aditya Atluri 5b597511b6 fixed hipHostGetFlags test
[ROCm/hip commit: 362867d325]
2016-03-23 02:45:21 -05:00
Aditya Atluri 5f343cb38b Remove redundant hpiHostGetDevicePointer
[ROCm/hip commit: 36d0da99c1]
2016-03-23 09:21:02 -05:00
Ben Sander 87830e8cff Add USE_AV_COPY (replaces calls to am_copy with new acc_view::copy
[ROCm/hip commit: 6ab48d7b90]
2016-03-23 10:30:53 -05:00
Ben Sander 748180c769 use the CPU_Agent for memory copies to indicate direction.
[ROCm/hip commit: 0f81c5bcf2]
2016-03-23 10:29:44 -05:00
Ben Sander a7ff86a141 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/hip commit: d07b347cac]
2016-03-23 03:22:09 -05:00
Ben Sander 241befc9f6 Add unique stream_id to devices to improve debug
[ROCm/hip commit: f863c5c6aa]
2016-03-23 03:17:19 -05:00
Ben Sander 6d5968027c 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/hip commit: 2569e15375]
2016-03-23 02:57:52 -05:00
Ben Sander 5c8b743588 HIP_TRACE_API prints function args, and in color
[ROCm/hip commit: 33bbf1463f]
2016-03-23 02:19:49 -05:00
Ben Sander 82cda5c087 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/hip commit: b6b3fea05b]
2016-03-23 01:17:53 -05:00
Ben Sander b319209299 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/hip commit: ab910efb96]
2016-03-22 02:30:10 -05:00
Aditya Atluri 9741873703 Revert "Revert "fixed memory free apis""
This reverts commit 9ba9f2a407.


[ROCm/hip commit: 52cf63472c]
2016-03-21 10:40:42 -05:00
Aditya Atluri 9ba9f2a407 Revert "fixed memory free apis"
This reverts commit 2a044e3823.


[ROCm/hip commit: 287ba34aca]
2016-03-21 10:36:11 -05:00
Aditya Atluri 2a044e3823 fixed memory free apis
[ROCm/hip commit: 96a1899df7]
2016-03-21 10:32:30 -05:00
Aditya Atluri f0d86c6b78 suppressed warning in hipFreeHost
[ROCm/hip commit: 6b3821afc7]
2016-03-20 15:31:59 -05:00
Aditya Atluri dd6fc044d6 Added feature for --default-streams not working tests and hipcc
[ROCm/hip commit: a232d65db1]
2016-03-20 08:08:33 -05:00
Ben Sander 8c1e55c937 Implement hipHostFree on HCC path
[ROCm/hip commit: deb38625ca]
2016-03-19 23:25:11 -05:00
Ben Sander b520a34579 Refactor copy - place common code in resolveMemoryKind.
[ROCm/hip commit: 194d02ac5a]
2016-03-19 22:56:10 -05:00
Ben Sander 36d2a024c0 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/hip commit: 52cc2bb75a]
2016-03-19 05:42:19 -05:00
Ben Sander 16df30e767 Swap in corrected hipHostAlloc (bad merge)
[ROCm/hip commit: d898997c65]
2016-03-19 04:11:08 -05:00
Ben Sander 5297376252 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/hip commit: 1de63bfeea]
2016-03-19 03:22:09 -05:00
Ben Sander 662cd0bb30 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/hip commit: 6472c8b915]
2016-03-19 02:44:26 -05:00
Ben Sander 0134651419 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/hip commit: 0af4d3623f]
2016-03-18 03:02:00 -05:00
Ben Sander 3320975a80 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/hip commit: 7d500599fa]
2016-03-17 20:09:10 -05:00
Ben Sander fc27c61c58 Refactor to isolate staging buffer code.
[ROCm/hip commit: e7586adb33]
2016-03-17 00:20:56 -05:00
Ben Sander 0ae7bc7e14 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/hip commit: 28ee7aff71]
2016-03-16 22:26:49 -05:00
Ben Sander 0b617788a8 Checkpoint code cleanup.
- Refactor ihipStream in prep for thread-safe implementation.
- Do some work on PinInPlace implementation.


[ROCm/hip commit: ec50cbb3aa]
2016-03-16 21:16:29 -05:00
Aditya Atluri cef9188d14 changed flag in hipHostRegister
[ROCm/hip commit: 1e588e56e0]
2016-03-16 08:01:53 -05:00
Aditya Atluri 9b39bdf3e0 src/ fixed hipHostAllocDefault flags
[ROCm/hip commit: b768568902]
2016-03-16 07:32:54 -05:00
Ben Sander 0abf5db89e Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp
	tests/src/CMakeLists.txt


[ROCm/hip commit: e1617b9604]
2016-03-14 15:01:26 -05:00
Ben Sander 5951d581d9 enable DB, comments
[ROCm/hip commit: 1a27e5134e]
2016-03-14 14:40:41 -05:00
Ben Sander e08baf41d7 Remove ROCR_V2, assume=1
[ROCm/hip commit: b0dca6bd0c]
2016-03-12 04:08:13 -06:00
Ben Sander 30fbe45694 Remove USE_AM_TRACKER (assume 1)
[ROCm/hip commit: a5a2c7f33c]
2016-03-12 04:04:57 -06:00
Ben Sander 4900ebb39f Improve error reporting.
use throw with error class.
fix bug when memcpyDefault resolved to D2D copy.


[ROCm/hip commit: 250739666d]
2016-03-12 04:02:04 -06:00
Aditya Atluri db1ce3ba84 Added hipHostRegister for hip with tests and added copyright
[ROCm/hip commit: 102f173396]
2016-03-08 12:57:22 -06:00
Aditya Atluri ab68dc4240 v2 added support for unpinned async memcpy
[ROCm/hip commit: 18c0e69f51]
2016-03-08 03:19:50 -06:00
Aditya Atluri bf3d3a9745 Revert "Fixed passing unpinned memory to async memcpy"
This reverts commit c272c53808.


[ROCm/hip commit: 45965aaa2d]
2016-03-08 03:17:27 -06:00
Aditya Atluri c272c53808 Fixed passing unpinned memory to async memcpy
[ROCm/hip commit: 216af71480]
2016-03-08 03:14:49 -06:00
Ben Sander 82116d905d 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/hip commit: aa03e1264c]
2016-03-06 23:50:52 -06:00
Aditya Atluri 91dbc3114d added feature for hipHostGetFlags for CUDA and HIP
[ROCm/hip commit: 75952029d6]
2016-03-06 12:17:30 -06:00
Aditya Atluri 5346c57411 added flags support to be used later
[ROCm/hip commit: 1f3695b224]
2016-03-06 08:40:33 -06:00
Aditya Atluri f1b8758919 corrected hipDeviceGetProperties to hipGetDeviceProperties - not docs
[ROCm/hip commit: d3ba2b9782]
2016-03-06 08:31:04 -06:00
Aditya Atluri 3c91a6d0a7 Added hipHostAlloc with hipHostAllocMapped flag
[ROCm/hip commit: 3aa764d5eb]
2016-03-05 15:57:56 -06:00
Ben Sander e0497a9ae1 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/hip commit: 6d4c830613]
2016-03-04 08:22:56 -06:00
Ben Sander 7aaa474ef0 Add FORCE_SAMEDIR_DEP for copies.
[ROCm/hip commit: ed71cded1c]
2016-03-04 08:21:15 -06:00
Aditya Atluri 52049a5927 v2: Fixed implementation of hipMemcpyDefault flag
[ROCm/hip commit: bd23279271]
2016-03-04 06:00:04 -06:00
Ben Sander e60db0c25f Add define to disable STREAM thread-safety
[ROCm/hip commit: 5e51ff177a]
2016-03-03 10:49:25 -06:00