- 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
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test
Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa
- The module kernel launch is now in sync with commands in its stream
- Moved launch kernel inside ihipStream
Change-Id: Ic00cfcf4882bf81b6203c36881a52575ea68b529
- Changed from inline to static inline for hipComplex AMD APIs
- Added NVCC path for hipComplex APIs mapped to cuComplex APIs
Change-Id: I809cf3a11b5b1c8bbc7a57c5fbcc3dc6745ccb95
- 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
- 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
- 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
- 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
1. Added 2 new driver apis, hipModuleLoad, hipModuleGetFunction
Change-Id: If464a7fad178121e3da791c7ac9e17ebc01a9cd0
Issues: When a sample written with them shows Aborted (core dumped) when exiting
- 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
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
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);