Commit Graph

67 Commits

Author SHA1 Message Date
Maneesh Gupta ac57672eaa Fix release notes and minimum required hcc workweek check 2016-03-25 16:08:00 +05:30
Aditya Atluri 2dacc3e161 Added canMapMemory feature to device properties 2016-03-24 07:33:24 -05:00
Aditya Atluri eea49cb66b added CR and hipsetdeviceflags func 2016-03-24 07:04:01 -05:00
Aditya Atluri 1c55019322 Split files based on functionality and changed cmake file 2016-03-24 04:57:30 -05:00
Ben Sander 0e92a64b95 CMake improvements.
- Directed tests build hip_hcc as subdir.
- Support HCC_HOME env var to control which HCC to use for build
  hip_hcc.
2016-03-24 10:16:35 -05:00
Aditya Atluri c1ad70ad4b moved variables to headers 2016-03-23 12:59:52 -05:00
Aditya Atluri 29119bd3d4 reverted back to old infra with cmake added 2016-03-23 11:13:02 -05:00
Aditya Atluri 64c4c70e4f WIP added modular feature for device apis 2016-03-23 07:54:01 -05:00
Siu Chi Chan 24496b1c38 Merge pull request #18 from AMDComputeLibraries/grid_launch_index
Grid launch index fix
2016-03-23 11:26:28 -05:00
Ben Sander 3ca91cf327 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.
2016-03-23 23:11:15 -05:00
scchan 1313f1fb77 add compiler version guard to the grid launch fix 2016-03-23 11:24:37 -05:00
scchan 671128abb0 fix builtins mapping for IDs and Dims 2016-03-23 11:08:28 -05:00
Ben Sander 8954e4fb26 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 fa8deac1ad 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 723327cd0f Describe how to file an issue 2016-03-23 01:15:05 -05:00
Ben Sander 2d0fade1f7 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 8af8ee2476 Revert "Revert "fixed memory free apis""
This reverts commit 1fa4d0d4b9.
2016-03-21 10:40:42 -05:00
Aditya Atluri 1fa4d0d4b9 Revert "fixed memory free apis"
This reverts commit 71a6b5cb6c.
2016-03-21 10:36:11 -05:00
Aditya Atluri 71a6b5cb6c fixed memory free apis 2016-03-21 10:32:30 -05:00
Ben Sander 80d708846a Implement hipHostFree on HCC path 2016-03-19 23:25:11 -05:00
Ben Sander 57365eb7a3 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)
2016-03-19 22:53:59 -05:00
Ben Sander e64174f47a 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 3b45e064f9 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 1b7cc7d921 Refactor to isolate staging buffer code. 2016-03-17 00:20:56 -05:00
Ben Sander a1879ba59b 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 15a8e8f8a0 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 0d05517d0a enable DB, comments 2016-03-14 14:40:41 -05:00
Ben Sander ac272932f6 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 3127969d97 Added hipHostRegister for hip with tests and added copyright 2016-03-08 12:57:22 -06:00
Ben Sander 9b1b108ea8 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 45408db5dc added feature for hipHostGetFlags for CUDA and HIP 2016-03-06 12:17:30 -06:00
Aditya Atluri 8a21b42943 corrected hipDeviceGetProperties to hipGetDeviceProperties - not docs 2016-03-06 08:31:04 -06:00
Aditya Atluri 411154f93f Added hipHostAlloc with hipHostAllocMapped flag 2016-03-05 15:57:56 -06:00
pensun cb352a17c3 resolve conflicts of doc_update 2016-02-27 15:08:45 -06:00
Ben Sander af97f5e317 Merge branch 'memtracker' into privatestaging
Conflicts:
	src/hip_hcc.cpp
2016-02-25 19:38:46 -06:00
gargrahul 14508fd0d6 Update for shared atomics support 2016-02-22 16:21:52 +05:30
Ben Sander d5c777268a Track last command to a stream.
Passing simple tests.
2016-02-20 11:02:07 -06:00
Ben Sander b08e468c06 Remove HIP-local AM tracker (now in HCC) 2016-02-17 21:33:32 -06:00
Ben Sander 5d721a2649 Add per-stream pool for hsa_signals. 2016-02-16 01:59:13 -06:00
Ben Sander 1ed431c0f6 Update before checkin to HCC.
Add support for USE_AM_TRACKER=2 (HCC version).
Add AM_ALLOC, AM_FREE indirection to ease swapping AM implementations.
2016-02-15 21:16:00 -06:00
Ben Sander bd7e3b83b9 Move warpSize to header, have shuffles use default warpsize. 2016-02-15 05:41:09 -06:00
Ben Sander 322a3bd9b2 Update docs, cleanup 2016-02-15 05:40:12 -06:00
Ben Sander 90af462b85 Step1 in staging buffer copy.
- use StagingBuffer class for copies.
- refactor g_device to use array rather than vector.
   (keeps pointers from moving).
2016-02-12 18:24:08 -06:00
Ben Sander f464cedcf4 Query tracked memory sizes.
Support more accurate hipMemGetInfo.  Add test to hipPointerAttrib.
2016-02-12 18:24:08 -06:00
Ben Sander 7216727fba Tracker improvements
- add API to add / remove user-pointers from the tracker.
- test for thread-safety with MultiThreadtest_2 - rapid
  insertions/removal.
- add mutex to provide thread-safety.
- rename tracker interface to "memtracker_..." for consistency.
- add am_memtracker_reset, connect to hipDeviceReset.
-
2016-02-12 18:24:08 -06:00
Ben Sander 721508cc2f Create address tracker for am_alloc.
Tracks device where memory is allocated, pinned-host or device, and
more.

Uses memory-range-based lookups - so pointers that exist anywhere in

the range of hostPtr + size will find the associated AmPointerInfo.

The insertions and lookups use a self-balancing binary tree and
should support O(logN) lookup speed.
2016-02-12 18:24:08 -06:00
gargrahul 51f46d9ddf Removed atomicInc and atomicDec support from HIP 2016-02-10 04:29:55 +05:30
Peng Sun b61f0453c0 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into doc_update 2016-02-09 15:08:39 -06:00
Peng Sun 6731505c5f Fix TODO-Doc in hip_texture.h 2016-02-09 10:58:23 -06:00
Maneesh Gupta f6e7abd710 Move HIP_DEVICE_COMPILE defines to hip_common.h 2016-02-09 10:57:20 +05:30