Commit Graph

815 Commitit

Tekijä SHA1 Viesti Päivämäärä
Ben Sander b94b8dbd48 Doc update to clarify supported / unsupported features 2016-08-26 10:46:39 -05:00
Aditya Atluri 8b918b065a 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 1211cc931c 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 ae77d4b6d7 Resolved errors due to hipCtxXXX APIs
Change-Id: Iffac0095c4352864eca622ea318d2291571b5153
2016-08-26 15:32:49 +05:30
Rahul Garg 5108140087 NVCC path support for hipCtxXXX APIs
Change-Id: Ic7dbfbdaee9d00c0de1363c50758e5e29a96a8b2
2016-08-26 14:10:36 +05:30
Rahul Garg 524eb687d3 Addition of hipCtxEnablePeerAccess and hipCtxDisablePeerAccess functions
Change-Id: I381c8cbbde17eae7d9bb5d4cb1596cebf4bda039
2016-08-26 13:51:33 +05:30
Maneesh Gupta 17289ca67d hipcc needs to link against supc++
Change-Id: Ica0949099a0bdfe2a493341dc1cd96ec93f34f11
2016-08-26 10:35:30 +05:30
Aditya Atluri 842553a6e1 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 79e88a6af6 Added hipModuleGetGlobal and hipModuleLoadData
Change-Id: Iaec873f7d86b72911b6ad32e067a4dfe3d552fe6
2016-08-25 14:16:53 -05:00
Evgeny Mankov 36d212c81e clang-hipify: code refactoring - API (Driver/Runtime/Blas) distinguishing is added. 2016-08-25 19:36:37 +03:00
Evgeny Mankov 0f4974dbcb clang-hipify: code refactoring and performance improvement 2016-08-24 18:51:36 +03:00
Aditya Atluri cb996c7b7a changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093
2016-08-24 09:47:11 -05:00
Aditya Atluri 2287af23a1 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 f9d49c2aed Added module api test with gcn binary
Change-Id: I61c3ecc2b34168d10f1a7b15d668630eb2c69c8c
2016-08-23 13:50:19 -05:00
Aditya Atluri 8f0f97f8f9 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 0806958a72 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 a498753041 Added support for hipCtxSynchronize and hipCtxGetFlags,modified hipDeviceSynchronize
Change-Id: If7bac667a262fa8c0cb3dc93e97f2534855acd07
2016-08-22 16:15:27 +05:30
Rahul Garg 4b5b15a8e5 Added initial draft for performance optimizations, started with unpinned memory transfers
Change-Id: Icbce2aec347d015bc66cc0c08f6193057bf36b4c
2016-08-22 11:37:37 +05:30
Aditya Atluri 24f6251b99 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 78b15bf062 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 921736782e 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 1d12e8cb1c Make it easier to switch between HIP library formats
Change-Id: Id16406795a81f4bb64dbcb76b9b8763ffe59aac6
2016-08-19 13:07:22 +05:30
Maneesh Gupta e6993e5e3d CMakeLists: use macro for appending to config file
Change-Id: I71ca3769b58b146f95368c2a2f6615c1eb47e121
2016-08-19 12:17:00 +05:30
Evgeny Mankov 807a6a9ac4 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 e51ce8fc09 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 208b8da612 Enable hipDynamicShared directed test
Change-Id: I31e7e83ecb3e15fb25b63d6bb6fa9291484c9ef5
2016-08-18 14:15:50 +05:30
Maneesh Gupta d9a2af3a12 Fix version related bug in CMakeLists.txt
Change-Id: I31c567575185a4e85f5f24d3f105f7cb1beed425
2016-08-18 13:56:25 +05:30
Maneesh Gupta 4803ff12f1 Rename 2_Advanced to 7_Advanced
Change-Id: I51e5fa7f4c1dbf467f2d7182ec69d12d5fe548d0
2016-08-18 12:40:30 +05:30
Maneesh Gupta ad2deaabc8 Update directed tests with all supported math functions
Change-Id: Id32a94313288e78bf2957bd19efb30877e20221d
2016-08-18 12:38:25 +05:30
Maneesh Gupta 69f005f5b2 Fix normcdf signature
Change-Id: I36b225cfe03db687f295aeea8a006d535bc14231
2016-08-17 22:07:06 +05:30
Aditya Atluri 1118d2e510 Added copyright to hip_module.cpp file
Change-Id: Ifc5f1e251d5c52a5b59f372b3fada938dbecb34a
2016-08-17 10:36:28 -05:00
Rahul Garg 0962ca43d9 Added further hipCtxXXX Apis
Change-Id: I286d962a06cee656c1c652b3f6b45078587fbc41
2016-08-17 16:28:22 +05:30
Aditya Atluri e4415aa98a corrected issues from hipModule API
Change-Id: I9d07884db20df5632f5a69b1a89a0e6ca531712b
2016-08-16 16:49:42 -05:00
pensun 2d228d8e0c add occupancy support for NV path; fix hipPeekAtLastError on HCC path
Change-Id: I26b0e1875c19d7c636ffcc18f1738926572ded81
2016-08-16 16:25:03 -05:00
Aditya Atluri 3d27bbd3db 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
2016-08-16 14:36:25 -05:00
Evgeny Mankov 7015675983 #define HIP_DYNAMIC_SHARED_ATTRIBUTE is added 2016-08-16 17:58:57 +03:00
Maneesh Gupta cd8c8171b7 Several improvements to hipcc, hipconfig and CMakeLists.txt
- moved hip base version information back to hipconfig
 - fixed bug in hip patch version generation
 - renamed .hipconfig to .buildInfo
 - HCC_HOME is logged to .buildInfo only when HIP_DEVELOPER environment
 - variable is defined
 - hipcc and hipconfig require perl 5.10.1 or above
 - replaced unless defined with logic-defined or
 - added ROCM_TARGET for carrizo
 - moved config parsing to a subroutine
 - config parsing does not set VALID key anymore
 - hipcc honors HCC_HOME environment variable above buildInfo
 - hip_base package now bundles .version in bin directory

Change-Id: Iaeea6d7529671220b02e07337946aaee0af90310
2016-08-14 16:22:25 +05:30
Rahul Garg eec9edef80 Implementation of hipCtxGetDevice
Change-Id: I067572e486323c3aad6f744a2c0c4997c8696af6
2016-08-13 01:17:46 +05:30
Rahul Garg 62d390da58 First implementation of hipCtxXXX functions
Change-Id: I4609cbe6bd90a1fff8655bff4fdd773864397aba
2016-08-13 00:09:08 +05:30
Maneesh Gupta 0827e44a90 Updates to HIP version string format
HIP patch version is now a monotonically increasing number

Change-Id: Ia6e35794b702bbd2018c502564d0a65997819687
2016-08-12 23:21:37 +05:30
Maneesh Gupta d192976b00 Add simple hipblas saxpy sample
Change-Id: I67ae83e1e5397d5191a3c644aba068f06ff97830
2016-08-12 13:50:22 +05:30
Jeffrey Poznanovic 48491a3978 Adding hipblas include files
Change-Id: I73064d410acd8f655dc62eaeb6f4bdefc5381e35
2016-08-12 11:59:25 +05:30
Aditya Atluri 3be747c41e Added fix for using HCC_VERSION
1. The variable is brought outside the conditional so that its scope is increased

Change-Id: I2d2689553e67930050fe5b3648739f0f72c3bbc8
2016-08-11 16:13:44 -05:00
Aditya Atluri ef68f2f293 Change hipcc to take HCC_HOME from hipconfig by default
1. Current implementation checks both env var and value in hipconfig and reports error
2. New implementation gives value in hipconfig with highest priority
3. If hipconfig is not present, fall back to env variables.

To Devs: No need to switch between environment variables for different HCC + different HIP.

Change-Id: I6cdf37e1429d7f07be3a68c7e5ba1533d832962b
2016-08-11 15:31:24 -05:00
Evgeny Mankov 2aacb02358 clang-hipify: Add support for nested macro expansion and translation.
Fixes bug “HIPIFY: nested macro is not hipified”
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/33

Example:
#include "cuda_runtime.h"
#define MY_MACRO(func, flags) (func, flags)
...
cudaEvent_t *event = NULL;
MY_MACRO(cudaEventCreateWithFlags(event, cudaEventDisableTiming), NULL);

where cudaEventDisableTiming is a defined numeric literal and thus a nested MACRO:
#define cudaEventDisableTiming 0x02 /**< Event will not record timing data */

After hipifying now:
MY_MACRO(hipEventCreateWithFlags(event, cudaEventDisableTiming), NULL);

Should be:
MY_MACRO(hipEventCreateWithFlags(event, hipEventDisableTiming), NULL);
2016-08-11 22:29:55 +03:00
pensun 4553e4e7f7 add note in hip_faq regarding workaround that add keyword of static for all forceinline functions
Change-Id: Ia13ba59b1e54df8ead5a96a952084144431ec72a
2016-08-10 11:31:13 -05:00
Ben Sander 89164259ab Context update.
- Remove tls_deviceID.
- Add first passing test.

Change-Id: If3e2f254abf589028cfe4f9e6369745f04160de0
2016-08-10 08:59:47 -05:00
Ben Sander 1786b120ed Document workaround for parenthesis+macro+hipLaunchKernel
Change-Id: Ie04c99db92d6499ddde93028a96f9d8f72d3f992
2016-08-10 08:59:47 -05:00
Maneesh Gupta 2e9adefd71 Allow cmake to be run multiple times in directed tests
Change-Id: I9d68fdefd9f72895ad4bdb310fcf3c6e52dbbf02
2016-08-10 09:49:07 +05:30
Maneesh Gupta 76eeaf4fbb Fix build issues due to refactoring changes
Change-Id: I0a709ff4864244ba1b49e1a25327e3901ed6e17f
2016-08-09 22:49:32 +05:30