Wykres commitów

133 Commity

Autor SHA1 Wiadomość Data
Aditya Atluri 302c21d2af added hipHostRegister support no multi-gpu
[ROCm/clr commit: 883954fce2]
2016-04-11 10:28:16 -05:00
Ben Sander b5a7f3493e Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 30be68b3a9]
2016-04-07 15:55:35 -05:00
Ben Sander b7cf054453 use hsa_free directly for staging buffer free rather than am_free
[ROCm/clr commit: 8dfa2a976f]
2016-04-07 15:54:28 -05:00
pensun 448b961328 clean up unused comments
[ROCm/clr commit: 45ed17ce2e]
2016-04-07 09:46:00 -05:00
Aditya Atluri 82f3f1be67 added device math functions
[ROCm/clr commit: c2d04ba59c]
2016-03-31 12:29:19 -05:00
Aditya Atluri 522382140d moved cpp specific device code from headers to source
[ROCm/clr commit: 48b8b426d5]
2016-03-31 04:45:00 -05:00
Aditya Atluri 7fbdb9fd5c Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 00bf37d28d]
2016-03-29 11:18:09 -05:00
Ben Sander 36f2f683db Add runtime switch to control HIP_ATP_MARKER
Only generate the function strings if requested at
compile-time && runtime.


[ROCm/clr commit: e22925be22]
2016-03-29 17:27:30 -05:00
Aditya Atluri 98f1e31c9b Calling intrinsics from global kernel
[ROCm/clr commit: 3b3db60c25]
2016-03-29 11:17:55 -05:00
Ben Sander 34f21e1343 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/clr commit: 1b2ab173c1]
2016-03-28 21:41:47 -05:00
Ben Sander 96412bdea2 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.


[ROCm/clr commit: 6cab7862ae]
2016-03-28 09:46:40 -05:00
Ben Sander 77a720aafc Stream thread-safe checkpoint.
[ROCm/clr commit: ecd56e1400]
2016-03-28 04:22:20 -05:00
Ben Sander ef1314a91c 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/clr commit: 82f57ca610]
2016-03-26 12:35:04 -05:00
Ben Sander 0b0c55af04 Protect _stream_id as well.
- move lockedaccessor
- clean up device class.
- add simple ihipDevice constructor.


[ROCm/clr commit: c47b5b04ef]
2016-03-26 11:45:25 -05:00
Ben Sander e16e848d55 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/clr commit: 4dd77c6612]
2016-03-26 10:46:20 -05:00
pensun b276e6b0d7 fix query of memoryClockRate and memoryBusWidth for both NV and HCC path
[ROCm/clr commit: a8ae62d399]
2016-03-25 09:24:08 -05:00
Aditya Atluri 256403548b Added canMapMemory feature to device properties
[ROCm/clr commit: 2dacc3e161]
2016-03-24 07:33:24 -05:00
Aditya Atluri fba45193cd added CR and hipsetdeviceflags func
[ROCm/clr commit: eea49cb66b]
2016-03-24 07:04:01 -05:00
Aditya Atluri bd9979eda6 Split files based on functionality and changed cmake file
[ROCm/clr commit: 1c55019322]
2016-03-24 04:57:30 -05:00
Ben Sander 245d48de79 Partition hip_hcc into sections
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp


[ROCm/clr commit: e52c3d9fe0]
2016-03-24 09:28:54 -05:00
Aditya Atluri 5f3d917b4c moved variables to headers
[ROCm/clr commit: c1ad70ad4b]
2016-03-23 12:59:52 -05:00
Aditya Atluri 1d31895043 reverted back to old infra with cmake added
[ROCm/clr commit: 29119bd3d4]
2016-03-23 11:13:02 -05:00
Aditya Atluri 85bcb2e3b8 WIP added modular feature for device apis
[ROCm/clr commit: 64c4c70e4f]
2016-03-23 07:54:01 -05:00
Ben Sander 7f1f07363d 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/clr commit: 3ca91cf327]
2016-03-23 23:11:15 -05:00
Aditya Atluri 49946441ab fixed hipHostGetFlags test
[ROCm/clr commit: e9e84d2db6]
2016-03-23 02:45:21 -05:00
Aditya Atluri 53bdbdc81b Remove redundant hpiHostGetDevicePointer
[ROCm/clr commit: b1b6d5e648]
2016-03-23 09:21:02 -05:00
Ben Sander 4f295f4358 Add USE_AV_COPY (replaces calls to am_copy with new acc_view::copy
[ROCm/clr commit: 6fb2367b66]
2016-03-23 10:30:53 -05:00
Ben Sander 72332dccb7 use the CPU_Agent for memory copies to indicate direction.
[ROCm/clr commit: f3ac666a7a]
2016-03-23 10:29:44 -05:00
Ben Sander 236ac8e023 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/clr commit: 8954e4fb26]
2016-03-23 03:22:09 -05:00
Ben Sander 8c25bc63b9 Add unique stream_id to devices to improve debug
[ROCm/clr commit: dc86743b35]
2016-03-23 03:17:19 -05:00
Ben Sander ab9a256f47 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/clr commit: fa8deac1ad]
2016-03-23 02:57:52 -05:00
Ben Sander 454faa062e HIP_TRACE_API prints function args, and in color
[ROCm/clr commit: aed1a82ccb]
2016-03-23 02:19:49 -05:00
Ben Sander f418fe4dae 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/clr commit: 54704b59dd]
2016-03-23 01:17:53 -05:00
Ben Sander 37a02661a6 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/clr commit: 2d0fade1f7]
2016-03-22 02:30:10 -05:00
Aditya Atluri cb2b9495f8 Revert "Revert "fixed memory free apis""
This reverts commit 70d2a03efd.


[ROCm/clr commit: 8af8ee2476]
2016-03-21 10:40:42 -05:00
Aditya Atluri 70d2a03efd Revert "fixed memory free apis"
This reverts commit 805dbd6d90.


[ROCm/clr commit: 1fa4d0d4b9]
2016-03-21 10:36:11 -05:00
Aditya Atluri 805dbd6d90 fixed memory free apis
[ROCm/clr commit: 71a6b5cb6c]
2016-03-21 10:32:30 -05:00
Aditya Atluri f3ae40baf7 suppressed warning in hipFreeHost
[ROCm/clr commit: ea352aba6b]
2016-03-20 15:31:59 -05:00
Aditya Atluri cad8b62504 Added feature for --default-streams not working tests and hipcc
[ROCm/clr commit: f6b38b18b6]
2016-03-20 08:08:33 -05:00
Ben Sander 98106c384c Implement hipHostFree on HCC path
[ROCm/clr commit: 80d708846a]
2016-03-19 23:25:11 -05:00
Ben Sander 250a2816fd Refactor copy - place common code in resolveMemoryKind.
[ROCm/clr commit: 03731020f1]
2016-03-19 22:56:10 -05:00
Ben Sander c75b63b61c 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/clr commit: a88c2b1ec9]
2016-03-19 05:42:19 -05:00
Ben Sander cf95ea5468 Swap in corrected hipHostAlloc (bad merge)
[ROCm/clr commit: aaa2429feb]
2016-03-19 04:11:08 -05:00
Ben Sander 3305c49949 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
Conflicts:
	src/hip_hcc.cpp


[ROCm/clr commit: 90ad8ddc5d]
2016-03-19 03:22:09 -05:00
Ben Sander 1abdd6602f 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/clr commit: 44522eb607]
2016-03-19 02:44:26 -05:00
Ben Sander b1fe0120ca 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/clr commit: e64174f47a]
2016-03-18 03:02:00 -05:00
Ben Sander a0d3c018c0 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/clr commit: 3b45e064f9]
2016-03-17 20:09:10 -05:00
Ben Sander dd90a8ff34 Refactor to isolate staging buffer code.
[ROCm/clr commit: 1b7cc7d921]
2016-03-17 00:20:56 -05:00
Ben Sander 622902d408 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/clr commit: a1879ba59b]
2016-03-16 22:26:49 -05:00
Ben Sander 931b58f438 Checkpoint code cleanup.
- Refactor ihipStream in prep for thread-safe implementation.
- Do some work on PinInPlace implementation.


[ROCm/clr commit: 8acb53e160]
2016-03-16 21:16:29 -05:00