Commit Graph

106 Commits

Author SHA1 Message Date
Ben Sander 630ef59d7b Tweak thread-safe implementation.
introduce LockedAccessor option so destructor does not unlock.
Allows locks to exist across function boundaries, required
for hipLaunchKernel macro which has several unusual requirements.
(including C comppatibility, must use variadic macro, more).


[ROCm/hip commit: 8635863724]
2016-03-28 21:41:47 -05:00
Ben Sander 9e3ac64c54 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.


[ROCm/hip commit: 3f18bab2c7]
2016-03-28 09:46:40 -05:00
Ben Sander 0f11beb328 fix ihipLogStatus so status arg only evaluated once
[ROCm/hip commit: 3aed9d3b19]
2016-03-28 05:23:53 -05:00
Ben Sander c9b5b99078 Stream thread-safe checkpoint.
[ROCm/hip commit: ec049e7f0b]
2016-03-28 04:22:20 -05:00
Ben Sander 48773c6d4f Improve debug print messages.
- Remove "call-to-call" for hipStreamCreate and hipEventCreate.
  These now call an internal functions rather than calling through
  hipStreamCreateWithFalgs and hipEventCreateWithFlags.

- Add HIP_INIT_API for more functions so they trace correctly.

- Use stream#DEVICE.STREAMID in debug messages via new specialization in
  tace_helper.


[ROCm/hip commit: 7934cf620d]
2016-03-26 12:35:04 -05:00
Ben Sander 6f88d31a1f Protect _stream_id as well.
- move lockedaccessor
- clean up device class.
- add simple ihipDevice constructor.


[ROCm/hip commit: 395e7eab96]
2016-03-26 11:45:25 -05:00
Ben Sander 141ccad414 Make ihipDevice_t thread-safe.
Move critical data into separate class and protect with LockAccessor
wrapper class.

For device, the streams list is the critical data since it is modified when
streams are created or destroyed.   The streams list is accessed in
several places including when synchronizing across all streams on the
device (ie from the default stream).
Other device data is set once by the device cosntructor and is not critical
so

All functions which acquire the LockAccessor now named with "locked_" prefix.


[ROCm/hip commit: 530ab9434a]
2016-03-26 10:46:20 -05:00
pensun fa114274ac fix query of memoryClockRate and memoryBusWidth for both NV and HCC path
[ROCm/hip commit: 535de2ecc1]
2016-03-25 09:24:08 -05:00
Maneesh Gupta 89c61391c3 Fix release notes and minimum required hcc workweek check
[ROCm/hip commit: a094cdba64]
2016-03-25 16:08:00 +05:30
Aditya Atluri 41037cad90 Added canMapMemory feature to device properties
[ROCm/hip commit: 95c96638aa]
2016-03-24 07:33:24 -05:00
Aditya Atluri 6aa83a8a32 added CR and hipsetdeviceflags func
[ROCm/hip commit: c5ec73736d]
2016-03-24 07:04:01 -05:00
Aditya Atluri 702672c3df Split files based on functionality and changed cmake file
[ROCm/hip commit: 794007c3e8]
2016-03-24 04:57:30 -05:00
Ben Sander 08ba8339bb CMake improvements.
- Directed tests build hip_hcc as subdir.
- Support HCC_HOME env var to control which HCC to use for build
  hip_hcc.


[ROCm/hip commit: c4e1aba862]
2016-03-24 10:16:35 -05:00
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
Siu Chi Chan e964f00377 Merge pull request #18 from AMDComputeLibraries/grid_launch_index
Grid launch index fix

[ROCm/hip commit: 1d3860a8eb]
2016-03-23 11:26:28 -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
scchan 22c79027a5 add compiler version guard to the grid launch fix
[ROCm/hip commit: 0eead76d4e]
2016-03-23 11:24:37 -05:00
scchan 2b25f5c1ff fix builtins mapping for IDs and Dims
[ROCm/hip commit: 56a1863c74]
2016-03-23 11:08:28 -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 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 f9b2f0c840 Describe how to file an issue
[ROCm/hip commit: 608bb21797]
2016-03-23 01:15:05 -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 831b55129d Revert "Revert "fix nvcc for hipHostMalloc* flags.""
This reverts commit 4bebb99566.


[ROCm/hip commit: e5918ce729]
2016-03-21 10:39:49 -05:00
Aditya Atluri 4bebb99566 Revert "fix nvcc for hipHostMalloc* flags."
This reverts commit 9f071dde99.


[ROCm/hip commit: 3f5eb20cf0]
2016-03-21 10:36:14 -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 733d085171 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/hip commit: caa80af31b]
2016-03-21 10:34:08 -05:00
Aditya Atluri 2a044e3823 fixed memory free apis
[ROCm/hip commit: 96a1899df7]
2016-03-21 10:32:30 -05:00
Ben Sander 9f071dde99 fix nvcc for hipHostMalloc* flags.
[ROCm/hip commit: b6962826eb]
2016-03-21 09:33:46 -05:00
Ben Sander 8c1e55c937 Implement hipHostFree on HCC path
[ROCm/hip commit: deb38625ca]
2016-03-19 23:25:11 -05:00
Ben Sander 9c3100894c fix nvcc compiler
- MallocHost and FreeHost deprecation.
- Change tests to call new hipHost* equivs.
- Add missing StreamSynchronize.


[ROCm/hip commit: 9941ba0bc6]
2016-03-19 04:20:15 -05:00
Ben Sander 4c77ecef9a Deprecate hipMallocHost and hipFreeHost.
These will print compiler warnings if used, so we can weed them out
before removing.

Also add a default flags args for hipHostAlloc, in the C++ functioin
headers.  So you can replace hipMallocHost(&ptr, size( with hipHostAlloc(&ptr, size)


[ROCm/hip commit: cea37c3e91]
2016-03-19 22:53:59 -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 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 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 c05f4abd71 Added hipHostRegister flags
[ROCm/hip commit: d9429dd4ec]
2016-03-07 10:52:40 -06:00
Aditya Atluri 02760925a9 Added hipHostRegister feature for CUDA backend and its tests
[ROCm/hip commit: 4ed0b1cb1a]
2016-03-07 03:42:50 -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
Maneesh Gupta 2de8a1a4a6 Fix typo in nvcc_detail/hip_runtime_api.h
[ROCm/hip commit: 39d5a2c079]
2016-03-07 09:40:15 +05:30
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 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
Aditya Atluri 8e0fc269d7 Added hipHostAlloc feature for CUDA
[ROCm/hip commit: f479531be5]
2016-03-05 13:58:56 -06:00