Cmake cache was being rebuilt on each build. This was being done
to update HIP_VERSION, HCC_VERSION, .hipInfo and .hipVersion.
However, rebuilding cache also re-runs HIT parser which is slow.
Removing the cache rebuild should speed up the build. But user
needs to explicitly rebuild the cache in case HIP_VERSION or
HCC_VERSION changes by calling "make rebuild_cache"
Change-Id: Ia5476eb7105aa614239c4dc7968c37f5e6cb0b29
[ROCm/hip commit: e63c8494fd]
1. As in hipModuleLaunchKernel(..., kernelParams, nullptr); works with this commit
2. Added headers AMDGPUPTNote.h, AMDGPURuntimeMetadata.h to do code object meta data parsing
3. Changed CMake to look at llvm link libraries
4. HIP developer should set env variable LLVM_HOME to remove link errors
5. HIP depends on installed LLVM (not source, not build)
6. Added sample to test out the feature
7. Right now HCC does not support embedding metadata in code object. Use clang opencl
8. Changed HIPCC to read LLVM_HOME env var
9. New argument to CMake should be given -DLLVM_HOME=<where llvm 5.0 is installed>
Change-Id: Iba38194aa872d97cc2c90a8e5ff746c48055c868
[ROCm/hip commit: 99432cc12c]
- target "make test" will no longer build and run tests. It will only run the tests.
- added new target "make check" which will build and run the tests.
- target "make check" will build tests serially. Use -j<N> to build tests in parallel.
Change-Id: I24c7932bf9798364a59f44631fbabcf9a5da5e17
[ROCm/hip commit: 5f689cb986]
commit 931d3de6c1c903cfd47842bc5026a9294ac492b4
Author: Siu Chi Chan <siuchi.chan@amd.com>
Date: Mon Feb 13 10:54:06 2017 -0500
only force to libstdc++ if the g++ is older than version 5 since hcc already defaults to libstdc++ with newer g++
commit 1ef8d71aa788de7b9eead4906fe56186f06d7d3f
Author: scchan <siuchi.chan@amd.com>
Date: Sun Feb 12 14:44:11 2017 -0500
remove hardcoded -lc++ in tests
commit 5d99ef338eb3a66523cc9ddd139e86c6fd707b9c
Author: scchan <siuchi.chan@amd.com>
Date: Sun Feb 12 14:35:46 2017 -0500
force include libstdc++ headers and stdc++ only if g++ version < 5 since hcc uses libstdc++ by default if g++ > 5 is present
commit a2bc21b24d100feefe91cd3cb2271238bda0738a
Author: scchan <siuchi.chan@amd.com>
Date: Fri Feb 10 04:36:27 2017 -0500
use hcc-config to generate compiler and linker flags
Change-Id: I13a79629c0adfd75439a47d0488ff4fd619c55ba
(cherry picked from commit 866e744e40cf1378af8a679b54959bf5226c340f)
[ROCm/hip commit: 806deeb476]
1. Split hip_ir.ll to hip_hc.ll and hip_hc_gfx803.ll
a. hip_hc.ll contains arch generic ir implementations
b. hip_hc_gfx803.ll contains gfx803 (fiji, polaris) specific ir
2. HIPCC can now parse --amdgpu-target=*.
a. Usage: hipcc --amdgpu-target=gfx803 --amdgpu-target=gfx701
b. TODO: Convert to --amdgpu-target=gfx803,gfx701
3. With LLC in HCC able to generate native f16 isa, removed inline half asm math ops
4. Fixed threadfence and threadfence_block to use functions in rocdl
Change-Id: Ic9a9e3e04139b0d75d2c2a263c030ca77adc1019
[ROCm/hip commit: 01b66dd998]
1. All fp32, fp64 math device/host functions should be in math_functions.h/.cpp
2. All fp32, fp64 fast math intrinsics for device/host functions should be in device_functions.h/.cpp
3. All the device code implementations should be in device_util.h/.cpp
4. Hence, made changes appropriately by moving code and creating new header files
5. Added math_functions.cpp/.h
6. Changed #ifndef signature to make sure no conflicts between headers with same names in hip/hip_runtime.h and hip/hcc_detail/hip_runtime.h
7. Changed tests to fit the code changes, making them to include appropriate headers
8. Added math_functions.cpp to CMakeLists.txt
9. Some of the tests are still broken, mostly host math functions will fix them in next commit
10. TODO: FIX compilation issues for host math functions
Change-Id: I7a17637d7e294a7d224ffba932c1a08668febd26
[ROCm/hip commit: b723169ee9]
hipcc accepts new parameter -use-staticlib and -use-sharedlib to
control linking behavior. Default is still static library.
Change-Id: I28fb9a939f8177c75abefd8b77d8118a6666d1f4
[ROCm/hip commit: ef046c7098]
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
[ROCm/hip commit: dc1042ce6d]