Commit Graph

70 Commits

Author SHA1 Message Date
Aditya Atluri df6f400a8e added doxygen comments for hipModuleLaunchKernel
Change-Id: I8a52d2e62f4b7eea8e05d779b9fda49f0ac45130


[ROCm/clr commit: 6bfbf17fb6]
2016-08-31 10:18:46 -05:00
Aditya Atluri 50a2e2db2a Added doxygen comments for module apis
Change-Id: I1825249bf91efe7d058f9026a82ec47855759c98


[ROCm/clr commit: d87bfd425c]
2016-08-29 21:24:19 -05:00
Aditya Atluri 41a363a6b7 Changed module api to work with nvcc and hipcc path
- Added cuda and cudart linking for nvcc path in hipcc
- Added hipMemcpyHtoD and hipMemcpyDtoH for nvcc path
- Changed hipDeviceptr to hipDeviceptr_t
- Fixed hipMemcpy*to* API signatues

Change-Id: I6ef076b507f92502efda475c83dcdcdd462afc37


[ROCm/clr commit: fb0c432095]
2016-08-29 15:05:12 -05:00
Aditya Atluri 9fe6924154 Cleaned up module api
- Moved HIP_INIT_API from internal to all public apis
- renamed hipLaunchModuleKernel to hipModuleLaunchKernel
- Changed tests according to the changed api

Change-Id: I822ff63c7c5b7dad340ece49456baf9d89428e9f


[ROCm/clr commit: 71991ed8f8]
2016-08-28 16:48:57 -05:00
Ben Sander 40ca19440c Remove deprecated message from hipLaunchModuleKernel
Change-Id: I87675453ae4363e3340a9d1491bb00543fa8c6e0


[ROCm/clr commit: f7ee14e637]
2016-08-28 16:34:34 -05:00
Aditya Atluri fa734c5a6a Added explicit memory copy direction apis
- Fixed stale printf in context api
- Added 4 sync memcpy apis
  1. hipMemcpyHtoD
  2. hipMemcpyDtoH
  3. hipMemcpyDtoD
  4. hipMemcpyHtoH
- Added test for added apis

Change-Id: I4a9c382445b62631f8d0bcbb9a670322288b72b1


[ROCm/clr commit: f722a132a4]
2016-08-26 13:11:01 -05:00
Aditya Atluri 33a38a0e26 Added NVCC support and name changes
- Added NVCC support for module APIs
- Changed hipFunction and hipModule data types to hipFunction_t and hipModule_t
- Created new intenal ihipModuleGetFunction as it is used twice
- Changed test to match with the new data types

Change-Id: I300a1c7fd40ed7065b1b8b9de97e3a06b96ed729


[ROCm/clr commit: 74a8fb132d]
2016-08-26 10:32:01 -05:00
Rahul Garg 8e09eacd0b Addition of hipCtxEnablePeerAccess and hipCtxDisablePeerAccess functions
Change-Id: I381c8cbbde17eae7d9bb5d4cb1596cebf4bda039


[ROCm/clr commit: a1d401336b]
2016-08-26 13:51:33 +05:30
Aditya Atluri 82deaeb581 Changed how hipEvent_t is typedefed internall
- Mapped hipEvent_t directly to ihipEvent_t* instead of a handle

Change-Id: I5a8bcca0ef962932e0738c03eb1fc914d23022ae


[ROCm/clr commit: 25be4fb532]
2016-08-25 14:34:41 -05:00
Aditya Atluri d769b71efc Added hipModuleGetGlobal and hipModuleLoadData
Change-Id: Iaec873f7d86b72911b6ad32e067a4dfe3d552fe6


[ROCm/clr commit: f22a3189a3]
2016-08-25 14:16:53 -05:00
Aditya Atluri 069d132f41 changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093


[ROCm/clr commit: af4dc556eb]
2016-08-24 09:47:11 -05:00
Aditya Atluri 9c36b77d39 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa


[ROCm/clr commit: 768287f2a2]
2016-08-23 14:19:15 -05:00
Rahul Garg f1f04949ac Added support for hipCtxSynchronize and hipCtxGetFlags,modified hipDeviceSynchronize
Change-Id: If7bac667a262fa8c0cb3dc93e97f2534855acd07


[ROCm/clr commit: b0ba622ed5]
2016-08-22 16:15:27 +05:30
Aditya Atluri 9571f355ac Added support for executable and symbols for data structures
- symbol handle is added to hipFunction
- executable handle is added to hipModule
- This way, the APIs doesn't need to track the values

Change-Id: I7cf05329cf79fe946319d7746bd9f5503268fda4


[ROCm/clr commit: 9eaabb507c]
2016-08-19 08:49:34 -05:00
Aditya Atluri a0740e524c Added hipLaunchModuleKernel and new error codes
- hipLaunchModuleKernel maps to cuLaunchKernel
- Whole lot of new error codes added for the use of driver api
 - KernelParams arguments is not yet supported
 - hipLaunchModuleKernel is a synchronous api (will change eventually)
 - All the commands in a stream will wait on host when hipLaunchModuleKernel is called on it

Change-Id: Ib4a4fae1db06fbb3a81d5a5575b026aa821264ed


[ROCm/clr commit: 792811fd52]
2016-08-18 11:26:55 -05:00
Rahul Garg 84a789c85c Added further hipCtxXXX Apis
Change-Id: I286d962a06cee656c1c652b3f6b45078587fbc41


[ROCm/clr commit: 96de030c2d]
2016-08-17 16:28:22 +05:30
Aditya Atluri 5513a08601 Added kernel compilation driver apis
1. Added 2 new driver apis, hipModuleLoad, hipModuleGetFunction

Change-Id: If464a7fad178121e3da791c7ac9e17ebc01a9cd0
Issues: When a sample written with them shows Aborted (core dumped) when exiting


[ROCm/clr commit: b8597512ca]
2016-08-16 14:36:25 -05:00
Rahul Garg a23ea89cae Implementation of hipCtxGetDevice
Change-Id: I067572e486323c3aad6f744a2c0c4997c8696af6


[ROCm/clr commit: 5eb889f73c]
2016-08-13 01:17:46 +05:30
Rahul Garg b55d509790 First implementation of hipCtxXXX functions
Change-Id: I4609cbe6bd90a1fff8655bff4fdd773864397aba


[ROCm/clr commit: f734f12411]
2016-08-13 00:09:08 +05:30
Ben Sander a4bfccf628 Context update.
- Remove tls_deviceID.
- Add first passing test.

Change-Id: If3e2f254abf589028cfe4f9e6369745f04160de0


[ROCm/clr commit: a9bcee3d77]
2016-08-10 08:59:47 -05:00
Ben Sander 0c8ca4b37d Add initial context implementation.
APIs: hipInit, hipCtxCreate.
Track TLS default ctx.  Set deviceID now changes the ctx.
Add first context test.

Change-Id: If1cb9989b5a04a36147e25e84904336c7b6f3d88


[ROCm/clr commit: f19f2248bf]
2016-08-08 17:49:02 -05:00
Ben Sander c85f34bf8a Code cleanup, use camelCase where appropriate.
Change-Id: I5a7ec50df8bbb3e7a3b313c0b12e2dd55ae4a09c


[ROCm/clr commit: ac173c3ae8]
2016-08-08 14:54:38 -05:00
Ben Sander 3ee6e7f8ab Split ihipCtx_t into ihipCtx_t and ihipDevice_t .
Major change to existing code base.
    Ctx holds streams, enables peers, and flags.
    Device holds accelerator, hsa-agent, device props.

Add hipCtx_t.

Add peer APIs that accept hipCtx_t (in addition to deviceId)

Compiles and passes directed tests.

Change-Id: Iddab1eb9edbf90caad2ef5959c6b811d658197f1


[ROCm/clr commit: d09b19bb6c]
2016-08-08 11:55:57 -05:00
Maneesh Gupta 64d0ffb404 Replace calls to ihipInit with use of HIP_INIT_API macro
Change-Id: Iabf7df79f0238a8ddffea4607fe945df36642850


[ROCm/clr commit: b485470819]
2016-07-22 15:46:55 +05:30
Maneesh Gupta 997cb27be8 Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c


[ROCm/clr commit: 7d5cffdc17]
2016-07-21 12:29:56 +05:30
Ben Sander c46b2e7450 NVCC improvements.
- Complete translation tables for cudaError <-> hipError_t.
- Remove some odd errors that were not correctly translated or not used.
- Add HIPCHECK_API to test infrastructure.  Used for negative testing
  an API ; if a mismatch occurs it shows the expected return error
  code.  Can also print a warning rather than error.
- Enable hipMemoryAllocate on NV system, and review error coded.
- Add hipErrorName to nvcc.

Change-Id: I680427dcf32a5796d5913cf9e7f3b4c6f6b91599

Conflicts:
	tests/src/CMakeLists.txt

Bug fixes and improved docs for hipFree and hipHostFree.

    - Passing NULL pointer initialized runtime and return hipSuccess
      (not an error like before).
    - add negative test for this. (hipMemoryAllocate, improved)
    - Match NVCC errors for invalid pointers, add to test.
    - Update hipFree and hipHostFree docs.
    - hipGetDevicePointer always set *devicePointer=NULL, even for
      invalid flags.
    - Gate shared memory usage on specific HCC work-week.

Change-Id: I533b4fd3280a3d6cdbf05eb768976f0c7506c012


[ROCm/clr commit: 6a2a140f34]
2016-06-16 06:13:51 +05:30
Maneesh Gupta 03014e8a1d Merge branch 'release_0.84.00' into privatestaging
Conflicts:
	include/hcc_detail/hip_runtime.h
	src/hip_hcc.cpp


[ROCm/clr commit: 02e6fc27f4]
2016-04-22 10:55:58 +05:30
Maneesh Gupta c99285c5fb Prefix HIP includes with hip/
[ROCm/clr commit: c4cc76398c]
2016-04-19 15:02:12 +05:30
Ben Sander 074fa8c53b Add experimental notes around p2p
[ROCm/clr commit: 21d733b2e7]
2016-04-18 23:52:42 -05:00
Ben Sander 942509d66e P2P Update.
- add P2P staging buffer copy.
- If copy device does not have sufficient access permissions, fall back
  to staging buffer.
- improve docs for which copy device is used.


[ROCm/clr commit: c3bd85595d]
2016-04-16 10:18:56 -05:00
Maneesh Gupta 97b91267b0 Bump min required hcc to workweek 16155
[ROCm/clr commit: 1cd52f5192]
2016-04-16 14:49:10 +05:30
Aditya Atluri aa048f2fe1 Removed pragma once
[ROCm/clr commit: 3b79b86a96]
2016-04-12 09:22:03 -05:00
Ben Sander 025938b1de P2p checkpoint.
- set USE_PEER_TO_PEER=3 (requires HCC "am_memtracker_update_peers")
- when enabling peer, turn it on for previously allocated memory.
- hipDeviceCanAccessPeer is no longer self-ware (self does not qualify
  as a peer)
- device peerlist always includes self, so when we call allow_access
  we never remove self access.
- hipDeviceReset() removes old peer mappings.


[ROCm/clr commit: 9e7efd7c65]
2016-04-11 07:58:59 -05:00
Ben Sander 2890517a23 For P2P, use the peer list when allocating Device memory or pinned host.
Each new allocation is automatically mapped into the address space of
all enabled peers.


[ROCm/clr commit: 97772d6363]
2016-04-11 07:58:58 -05:00
Ben Sander 7eb8c10215 P2P checkpoint.
Maintain enabled peer tables for each device.


[ROCm/clr commit: e2d19d7f7a]
2016-04-11 07:58:58 -05:00
Ben Sander 1c84f4b5c6 Checkpoint initial peer2peer implementation.
[ROCm/clr commit: 4400875dda]
2016-04-11 07:58:58 -05:00
Aditya Atluri b98fcb7764 Added feature for cross-compilation and seperated hcc api from hip api
[ROCm/clr commit: 39f27984a8]
2016-04-06 14:18:51 -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 266a91d241 C guarding the apis
[ROCm/clr commit: c4d93cf3db]
2016-03-30 06:08:50 -05:00
Ben Sander d4660e232d Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/clr commit: 03c0fcbfec]
2016-03-29 14:43:35 -05:00
Aditya Atluri 84204d06fe Not using classes inside headers
[ROCm/clr commit: 8e437d0565]
2016-03-29 02:27:51 -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
Maneesh Gupta cc18cc9574 Fix release notes and minimum required hcc workweek check
[ROCm/clr commit: ac57672eaa]
2016-03-25 16:08:00 +05:30
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
Aditya Atluri 5f3d917b4c moved variables to headers
[ROCm/clr commit: c1ad70ad4b]
2016-03-23 12:59:52 -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 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