Commit Graph

240 Commitit

Tekijä SHA1 Viesti Päivämäärä
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
Ben Sander ba9ad6be80 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.
2016-02-28 21:19:49 -06:00
Ben Sander af22d056e0 touchup 2016-02-28 21:08:53 -06:00
pensun 39b44cb484 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.
2016-02-27 14:48:00 -06:00
pensun 1f606261c1 improve the HIP_VISIBLE_DEVICES implementation 2016-02-27 14:14:08 -06:00
pensun 07e56d4666 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-02-27 04:25:28 -06:00
Aditya Avinash Atluri ecadb1623c Merge pull request #4 from AMDComputeLibraries/memtracker
hipGetPointerAttrib behavioral changes
2016-02-27 10:51:23 -06:00
Ben Sander ea09557e1b disable rocrv2, properly 2016-02-27 03:31:30 -06:00
Aditya Avinash Atluri 66aa7f2f8a Corrected hipPointerGetAttribute
Made hipPointerGetAttribute work same as cudaPointerGetAttribute for HCC
2016-02-26 18:50:40 -06:00
pensun 57f60b34fb relsove conflicts 2016-02-26 09:57:40 -06:00
pensun ee7ac16396 fix compiling error 2016-02-26 09:50:00 -06:00
Ben Sander ff66ef0779 fixes for titan platform 2016-02-26 05:25:30 -06:00
Ben Sander 6e0ccdfb95 Disable ROCR_V2 2016-02-26 23:34:45 -06:00
Ben Sander 369e0d7b5b Merge branch 'memtracker' into privatestaging
Conflicts:
	include/nvcc_detail/hip_runtime_api.h
2016-02-26 06:17:05 -06:00
Ben Sander c300ffe458 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-02-26 06:15:09 -06:00
Ben Sander d319299ddb Merge branch 'memtracker' of https://github.com/AMDComputeLibraries/HIP-privatestaging into memtracker
Conflicts:
	tests/src/hipMemcpy.cpp
2016-02-25 23:22:51 -06:00
Ben Sander 4adab7b7ef Merge branch 'memtracker' into privatestaging
Conflicts:
	src/hip_hcc.cpp
2016-02-25 19:38:46 -06:00
Ben Sander 8b64c0dc62 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.
2016-02-25 19:19:49 -06:00