Commit Graph

73 Commits

Author SHA1 Message Date
Rahul Garg bb215fe616 Added hipDeviceComputeCapability, hipDeviceGetPCIBusId and hipDeviceGetName
Change-Id: Ibe2d975df796712633900ddc7b0734ec2b8ab4ec


[ROCm/hip commit: 3f5a2f8397]
2016-09-02 14:45:53 +05:30
Rahul Garg 5703cef9de Added hipDeviceGet function
Change-Id: I7c25bc24680589682af1b199072807523fc37f50


[ROCm/hip commit: d21e586462]
2016-09-02 12:25:50 +05:30
Rahul Garg 00b92e6e35 Added doxygen documentation for hipCtxXXX APIs
Change-Id: Id9cf3491e9a8c78cb7bfeb9976c36d6fe565628f


[ROCm/hip commit: 94f035d80d]
2016-09-01 12:22:37 +05:30
Aditya Atluri 5dea55df88 added doxygen comments for hipModuleLaunchKernel
Change-Id: I8a52d2e62f4b7eea8e05d779b9fda49f0ac45130


[ROCm/hip commit: 69fb9ee3aa]
2016-08-31 10:18:46 -05:00
Aditya Atluri 06af9cf427 Added doxygen comments for module apis
Change-Id: I1825249bf91efe7d058f9026a82ec47855759c98


[ROCm/hip commit: f6f92a6528]
2016-08-29 21:24:19 -05:00
Aditya Atluri dd8f451428 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/hip commit: 4b377f63d0]
2016-08-29 15:05:12 -05:00
Aditya Atluri 874d04291b 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/hip commit: 3d1bf4dbaf]
2016-08-28 16:48:57 -05:00
Ben Sander 627a6d2f8f Remove deprecated message from hipLaunchModuleKernel
Change-Id: I87675453ae4363e3340a9d1491bb00543fa8c6e0


[ROCm/hip commit: 685601f27c]
2016-08-28 16:34:34 -05:00
Aditya Atluri 2efa60a37e 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/hip commit: 4152746e26]
2016-08-26 13:11:01 -05:00
Aditya Atluri 34257c06e6 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/hip commit: 8b918b065a]
2016-08-26 10:32:01 -05:00
Rahul Garg 376cc78852 Addition of hipCtxEnablePeerAccess and hipCtxDisablePeerAccess functions
Change-Id: I381c8cbbde17eae7d9bb5d4cb1596cebf4bda039


[ROCm/hip commit: 524eb687d3]
2016-08-26 13:51:33 +05:30
Aditya Atluri 69d6645be6 Changed how hipEvent_t is typedefed internall
- Mapped hipEvent_t directly to ihipEvent_t* instead of a handle

Change-Id: I5a8bcca0ef962932e0738c03eb1fc914d23022ae


[ROCm/hip commit: 842553a6e1]
2016-08-25 14:34:41 -05:00
Aditya Atluri ad9e04acf8 Added hipModuleGetGlobal and hipModuleLoadData
Change-Id: Iaec873f7d86b72911b6ad32e067a4dfe3d552fe6


[ROCm/hip commit: 79e88a6af6]
2016-08-25 14:16:53 -05:00
Aditya Atluri c40593fa5f changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093


[ROCm/hip commit: cb996c7b7a]
2016-08-24 09:47:11 -05:00
Aditya Atluri 6842171207 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/hip commit: 2287af23a1]
2016-08-23 14:19:15 -05:00
Rahul Garg 5a1cf6ccfd Added support for hipCtxSynchronize and hipCtxGetFlags,modified hipDeviceSynchronize
Change-Id: If7bac667a262fa8c0cb3dc93e97f2534855acd07


[ROCm/hip commit: a498753041]
2016-08-22 16:15:27 +05:30
Aditya Atluri 719e91aacf 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/hip commit: 921736782e]
2016-08-19 08:49:34 -05:00
Aditya Atluri 784e9c6691 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/hip commit: e51ce8fc09]
2016-08-18 11:26:55 -05:00
Rahul Garg 962276c45a Added further hipCtxXXX Apis
Change-Id: I286d962a06cee656c1c652b3f6b45078587fbc41


[ROCm/hip commit: 0962ca43d9]
2016-08-17 16:28:22 +05:30
Aditya Atluri e582b27f7f 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/hip commit: 3d27bbd3db]
2016-08-16 14:36:25 -05:00
Rahul Garg e33c5c07e3 Implementation of hipCtxGetDevice
Change-Id: I067572e486323c3aad6f744a2c0c4997c8696af6


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


[ROCm/hip commit: 62d390da58]
2016-08-13 00:09:08 +05:30
Ben Sander 0221323977 Context update.
- Remove tls_deviceID.
- Add first passing test.

Change-Id: If3e2f254abf589028cfe4f9e6369745f04160de0


[ROCm/hip commit: 89164259ab]
2016-08-10 08:59:47 -05:00
Ben Sander db8c7e97bd 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/hip commit: 8f402132ba]
2016-08-08 17:49:02 -05:00
Ben Sander 28db2f79ba Code cleanup, use camelCase where appropriate.
Change-Id: I5a7ec50df8bbb3e7a3b313c0b12e2dd55ae4a09c


[ROCm/hip commit: ed0a2c02fe]
2016-08-08 14:54:38 -05:00
Ben Sander 57df8a3967 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/hip commit: cfdacab32f]
2016-08-08 11:55:57 -05:00
Maneesh Gupta f02201e8c3 Replace calls to ihipInit with use of HIP_INIT_API macro
Change-Id: Iabf7df79f0238a8ddffea4607fe945df36642850


[ROCm/hip commit: 71d51170ef]
2016-07-22 15:46:55 +05:30
Maneesh Gupta b160ff52fc Merge branch 'hiparray' into amd-develop
Change-Id: I63ca7b1db7b593ac5cfb3fd7cd5d08d6e4075a4c


[ROCm/hip commit: 7022986ab2]
2016-07-21 12:29:56 +05:30
Ben Sander 0268c1e4e6 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/hip commit: 2ab19ca505]
2016-06-16 06:13:51 +05:30
Maneesh Gupta 90fa90295f Merge branch 'release_0.84.00' into privatestaging
Conflicts:
	include/hcc_detail/hip_runtime.h
	src/hip_hcc.cpp


[ROCm/hip commit: ffdf6ab23b]
2016-04-22 10:55:58 +05:30
Maneesh Gupta b29742d6f8 Prefix HIP includes with hip/
[ROCm/hip commit: bc4f388b69]
2016-04-19 15:02:12 +05:30
Ben Sander b0c6b89dd3 Add experimental notes around p2p
[ROCm/hip commit: 30233cd2e0]
2016-04-18 23:52:42 -05:00
Ben Sander d4f449a95e 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/hip commit: dcabc9dbf7]
2016-04-16 10:18:56 -05:00
Maneesh Gupta 44e5430da9 Bump min required hcc to workweek 16155
[ROCm/hip commit: dc4c174a54]
2016-04-16 14:49:10 +05:30
Aditya Atluri 10bc7e683f Removed pragma once
[ROCm/hip commit: 4dfe27e8b5]
2016-04-12 09:22:03 -05:00
Ben Sander c964e3c75a 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/hip commit: 83f0de7806]
2016-04-11 07:58:59 -05:00
Ben Sander 06e2dbd128 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/hip commit: 813b063888]
2016-04-11 07:58:58 -05:00
Ben Sander ac11c83d76 P2P checkpoint.
Maintain enabled peer tables for each device.


[ROCm/hip commit: f2aa470f7f]
2016-04-11 07:58:58 -05:00
Ben Sander 56d684e2fe Checkpoint initial peer2peer implementation.
[ROCm/hip commit: 69f2469cbb]
2016-04-11 07:58:58 -05:00
Aditya Atluri cf9cefcb6a Added feature for cross-compilation and seperated hcc api from hip api
[ROCm/hip commit: 1dcdfc93f1]
2016-04-06 14:18:51 -05:00
Aditya Atluri fe0f4e8bc2 moved cpp specific device code from headers to source
[ROCm/hip commit: 72c72d8748]
2016-03-31 04:45:00 -05:00
Aditya Atluri afd8f2bcfc C guarding the apis
[ROCm/hip commit: 496da0aabd]
2016-03-30 06:08:50 -05:00
Ben Sander 1f8e0e2e72 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging
[ROCm/hip commit: fb7862dba3]
2016-03-29 14:43:35 -05:00
Aditya Atluri 811d6d52ea Not using classes inside headers
[ROCm/hip commit: f01810183b]
2016-03-29 02:27:51 -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
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
Aditya Atluri e0c6809779 moved variables to headers
[ROCm/hip commit: 7920fd9a47]
2016-03-23 12:59:52 -05:00