1. Removed HIP_EXPERIMENTAL env variable so that device code will be accessed from LLVM IR
2. Removed soft support from headers and moved to hip_fp16.cpp
3. Added LLVM IR + inline asm to hip_ir.ll
4. Added test for fp16
5. Added barriers for hcc 3.5 and hcc 4.0 for half support
a. Which means, hcc 4.0 can parse __fp16 but hcc 3.5 cant
b. HCC 4.0 code is implemented now, hcc 3.5 will be added later
Change-Id: Ic37859b2688ebb02e168bab643d1882bf4727952
hipcc accepts new parameter -use-staticlib and -use-sharedlib to
control linking behavior. Default is still static library.
Change-Id: I28fb9a939f8177c75abefd8b77d8118a6666d1f4
1. Use -DHIP_FAST_MATH to make precise math functions compiled to fast math
2. Added double fast math functions for sqrt
3. Changed hipcc to parse -use_fast_math (not working)
4. Added passed tag to hipFloatMath test
Change-Id: I72884b2436b4efe61e9a9297346c1358fee38a2d
Users who desire otherwise can set HIP_ATP_MARKER=0.
Also remove old unused hipcc_explicit_lib option.
Change-Id: I2bf07ba880329e7a3b1365dd33a3b2be6794370f
Missing includes are set explicitly.
Workaround is switched on by default, to disable it set HCC_SYS_INCLUDES_WA=0.
WA will be removed after fixing [SWDEV-105366].
1. Added feature for __threadfence and __threadfence_block
2. Added feature for using LLVM IR files directly while compilation
3. Added test for threadfence and threadfence_block
Change-Id: Ib7e5d89b4cca1a135952b317e5809cd05b56a3c9
- Expand message when HIP version mismatch detected.
- Doc touchup.
- change sorting of hipBusBandwidth so byte results shown at top.
-
Change-Id: Ifb4e44a5fdfb65d59c4994b11e5f13385705f7e0
1. Removed vcpy_isa.ptx as it should be generated during make
2. Made argument padding specific to hcc path
3. Renamed --gencodeobject to --genco
4. Changed Makefile to work on both nvcc and hcc path
Change-Id: Ifd053d541085d9ce4fd37bc21b07674786c7163e
- hipcc honors HIPCC_VERBOSE for gencodeobject too
- fixed gencodeobject generation logic for nvcc path
- hipgenisa.sh is no longer passed the --gencodeobject flag
Change-Id: Iab83c18a6decef445fda8468ba5de10cd7935046
1. Added hipgenisa.sh file to compile kernel code to hsa code object
2. Changed hipcc to call hipgenisa.sh, making hipcc compiling the kernels
Change-Id: I976459c1ebb24343e1b1fe38b4c3a203f1adffa9
- 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
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