Commit Graph

837 Commits

Author SHA1 Message Date
Aditya Atluri 6bfbf17fb6 added doxygen comments for hipModuleLaunchKernel
Change-Id: I8a52d2e62f4b7eea8e05d779b9fda49f0ac45130
2016-08-31 10:18:46 -05:00
Rahul Garg e0c5ad6ff6 CUresult to hipError mapping updates
Change-Id: I602a70acda798a47ebbbef84b438b21c399821c3
2016-08-30 15:55:51 +05:30
Aditya Atluri 7fdebfb8e3 remove HIP_INIT_API from ihipSynchronize
Change-Id: Ibe0739efe55573c023212d9c28ba847c777e434c
2016-08-29 21:42:22 -05:00
Aditya Atluri cfac62f7e6 Added HIP_INIT_API for all context apis
Change-Id: I3dd8c068236d9572659a58683fdb59d2b9dccaf3
2016-08-29 21:36:34 -05:00
Aditya Atluri d87bfd425c Added doxygen comments for module apis
Change-Id: I1825249bf91efe7d058f9026a82ec47855759c98
2016-08-29 21:24:19 -05:00
Ben Sander 6fd03dde79 Add guideline for HIP_INIT_API
Change-Id: Ib8fa1e952f31158e9435dfc37ff23db9fda6fd7e
2016-08-29 18:40:23 -05:00
Ben Sander a03a71badd Update supported API list
Change-Id: Idbc941e4464d200aca7ac3382060edc08ab94ef2
2016-08-29 18:39:50 -05:00
Ben Sander fa9b95838a Refactor trace code for hipLaunchKernel.
- Use standard print functions for streams.
- Add HIP_INIT macro, for cases where we want to initialize HIP but not
  log an API (ihipPreKernelLaunch).

Change-Id: If43cf8a363d918bcd3722a2e6a965d4cfa2e03e7
2016-08-29 18:37:57 -05:00
Ben Sander eb61114739 remove stray printf
Change-Id: Ie64778a83dfe684ffaab3c31bc3d09b713f825b9
2016-08-29 18:36:30 -05:00
Aditya Atluri 5dc94eb45d added docs to how to use hipModuleLaunchKernel
Change-Id: I626241552c69cdae56501371374ca8f2c6776c85
2016-08-29 15:38:04 -05:00
Aditya Atluri fa86d293bf added sample to porting driver guide
Change-Id: Ia2b54311cec617e5e2a162fd31415c8caad4a374
2016-08-29 15:25:35 -05:00
Aditya Atluri 5d3c72a7ff added hipInit for cuInit nvcc path
Change-Id: I594d08d936ac5d06f16e42c63062ac5776b65a0c
2016-08-29 15:20:09 -05:00
Aditya Atluri fb0c432095 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
2016-08-29 15:05:12 -05:00
Aditya Atluri 1673bdefec added sample for module api which works on both cuda and rocm
Change-Id: Id88abb3698a224177fd0531e3e16013dde6dd95e
2016-08-29 15:00:26 -05:00
Ben Sander d76372a049 Doc update. Describe memcpytosymbol, threadfence_system workarounds 2016-08-29 13:45:20 -05:00
Aditya Atluri 645975a05b Fixed nvcc path for module apis
Change-Id: I43c7a6bc226f4f270c37f3c4af86b3b3efd0b175
2016-08-28 22:50:44 -05:00
Aditya Atluri 71991ed8f8 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
2016-08-28 16:48:57 -05:00
Ben Sander 46c3ff52a6 Remove cutnpaste check on uninitialized hsa status
Change-Id: Icc0256b9b1bd01d45cca4feb1106cfe7427bcd15
2016-08-28 16:35:27 -05:00
Ben Sander f7ee14e637 Remove deprecated message from hipLaunchModuleKernel
Change-Id: I87675453ae4363e3340a9d1491bb00543fa8c6e0
2016-08-28 16:34:34 -05:00
Aditya Atluri 5e7c396bcd added memset and memcpy device functions
- Added memcpy and memset device functions
- Added test for memcpy and memset

Change-Id: Icd21a8dd964953b86d5e92889bf1664bee647219
2016-08-27 11:13:56 -05:00
Aditya Atluri f722a132a4 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
2016-08-26 13:11:01 -05:00
Ben Sander 8b8181df41 Add docs on porting driver API 2016-08-26 10:46:39 -05:00
Ben Sander 8d02cf466f Doc update to clarify supported / unsupported features 2016-08-26 10:46:39 -05:00
Aditya Atluri 74a8fb132d 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
2016-08-26 10:32:01 -05:00
Rahul Garg 452108b0e6 Added logic to update primary ctx when ctx stack is empty, updated hipCtxDestroy and ctxGetCurrent functions
Change-Id: Ia0a8943c121bc1279788a1cfa9be59af614b04a6
2016-08-26 19:03:23 +05:30
Rahul Garg 77991293ba Resolved errors due to hipCtxXXX APIs
Change-Id: Iffac0095c4352864eca622ea318d2291571b5153
2016-08-26 15:32:49 +05:30
Rahul Garg da80bf6326 NVCC path support for hipCtxXXX APIs
Change-Id: Ic7dbfbdaee9d00c0de1363c50758e5e29a96a8b2
2016-08-26 14:10:36 +05:30
Rahul Garg a1d401336b Addition of hipCtxEnablePeerAccess and hipCtxDisablePeerAccess functions
Change-Id: I381c8cbbde17eae7d9bb5d4cb1596cebf4bda039
2016-08-26 13:51:33 +05:30
Maneesh Gupta 0c051fede1 hipcc needs to link against supc++
Change-Id: Ica0949099a0bdfe2a493341dc1cd96ec93f34f11
2016-08-26 10:35:30 +05:30
Aditya Atluri 25be4fb532 Changed how hipEvent_t is typedefed internall
- Mapped hipEvent_t directly to ihipEvent_t* instead of a handle

Change-Id: I5a8bcca0ef962932e0738c03eb1fc914d23022ae
2016-08-25 14:34:41 -05:00
Aditya Atluri f22a3189a3 Added hipModuleGetGlobal and hipModuleLoadData
Change-Id: Iaec873f7d86b72911b6ad32e067a4dfe3d552fe6
2016-08-25 14:16:53 -05:00
Evgeny Mankov 5cca5b3dca clang-hipify: code refactoring - API (Driver/Runtime/Blas) distinguishing is added. 2016-08-25 19:36:37 +03:00
Evgeny Mankov 207eb02736 clang-hipify: code refactoring and performance improvement 2016-08-24 18:51:36 +03:00
Aditya Atluri af4dc556eb changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093
2016-08-24 09:47:11 -05:00
Aditya Atluri 768287f2a2 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa
2016-08-23 14:19:15 -05:00
Aditya Atluri 2f426aaaea Added module api test with gcn binary
Change-Id: I61c3ecc2b34168d10f1a7b15d668630eb2c69c8c
2016-08-23 13:50:19 -05:00
Aditya Atluri c0fbe7891c Added stream synchronisation for hipLaunchModuleKernel
- The module kernel launch is now in sync with commands in its stream
- Moved launch kernel inside ihipStream

Change-Id: Ic00cfcf4882bf81b6203c36881a52575ea68b529
2016-08-22 14:17:55 -05:00
Aditya Atluri 98c740c51f Added nvcc path for hipComplex APIs
- Changed from inline to static inline for hipComplex AMD APIs
- Added NVCC path for hipComplex APIs mapped to cuComplex APIs

Change-Id: I809cf3a11b5b1c8bbc7a57c5fbcc3dc6745ccb95
2016-08-22 10:29:46 -05:00
Rahul Garg b0ba622ed5 Added support for hipCtxSynchronize and hipCtxGetFlags,modified hipDeviceSynchronize
Change-Id: If7bac667a262fa8c0cb3dc93e97f2534855acd07
2016-08-22 16:15:27 +05:30
Rahul Garg 778bb2e78a Added initial draft for performance optimizations, started with unpinned memory transfers
Change-Id: Icbce2aec347d015bc66cc0c08f6193057bf36b4c
2016-08-22 11:37:37 +05:30
Aditya Atluri a362489b27 Added more complex apis and copyright
- New header which redirects to CUDA/HIP path added for hipComplex.h
- Added more complex device api including fma
- Added copyright to new files

Change-Id: Iff0dece4c438e97d0ae33efa4312975d465a6464
2016-08-19 23:02:04 -05:00
Aditya Atluri 4d278259b9 Added support for complex device functions
- Added complex number arithmetic operation for float and double datatypes
- TODO: make them host functions and support half
- Added new function which is not in CUDA, hipCsqabs which is square of absolute value

Change-Id: Ib96e194ad45dc64fcba29eb19ad0376542e0591d
2016-08-19 21:48:23 -05:00
Aditya Atluri 9eaabb507c 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
2016-08-19 08:49:34 -05:00
Maneesh Gupta 8f19a51521 Make it easier to switch between HIP library formats
Change-Id: Id16406795a81f4bb64dbcb76b9b8763ffe59aac6
2016-08-19 13:07:22 +05:30
Maneesh Gupta 78576ab1a8 CMakeLists: use macro for appending to config file
Change-Id: I71ca3769b58b146f95368c2a2f6615c1eb47e121
2016-08-19 12:17:00 +05:30
Evgeny Mankov 00b9782187 clang-hipify: After translating any symbol forcibly include the hip header file in case it wasn’t.
Fixes https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/34
2016-08-18 20:59:51 +03:00
Aditya Atluri 792811fd52 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
2016-08-18 11:26:55 -05:00
Maneesh Gupta 49d8faef54 Enable hipDynamicShared directed test
Change-Id: I31e7e83ecb3e15fb25b63d6bb6fa9291484c9ef5
2016-08-18 14:15:50 +05:30
Maneesh Gupta eb90dddbc4 Fix version related bug in CMakeLists.txt
Change-Id: I31c567575185a4e85f5f24d3f105f7cb1beed425
2016-08-18 13:56:25 +05:30
Maneesh Gupta 7b8f091f0b Rename 2_Advanced to 7_Advanced
Change-Id: I51e5fa7f4c1dbf467f2d7182ec69d12d5fe548d0
2016-08-18 12:40:30 +05:30