Commit Graph

130 Commits

Author SHA1 Message Date
Maneesh Gupta 197cac144d Merge pull request #418 from pfultz2/host-device-targets
Add host and device targets
2018-05-22 06:33:56 +05:30
Siu Chi Chan 368affcea4 initial gfx906 support 2018-05-10 19:28:00 +00:00
Paul 56734306ed Add host and device targets 2018-04-24 14:04:24 -05:00
Aaron Enye Shi 1149f88413 Remove unsupported targets gfx801 and gfx802
These architectures are no longer supported. Should not compile for them.
2018-04-23 15:25:35 -04:00
Maneesh Gupta ebc52e5bc0 [cmake] Update target build dependencies
Change-Id: Ib1c34135c0d04f88daa695e7a90272225d7e64b0
2018-04-11 15:30:13 +05:30
Laurent Morichetti 323caee8d2 Add support for clang offload bundles and <<<>>> kernel launch. 2018-04-04 13:32:33 -07:00
Maneesh Gupta eee7fa6072 Merge pull request #363 from gargrahul/surface_object_api
Added surface object support
2018-03-09 11:50:30 +05:30
Alex Voicu fa0bff8f78 Update CMakeLists.txt 2018-03-01 16:06:09 +00:00
Rahul Garg 92283d24d0 Added surface object support 2018-02-26 11:59:03 +05:30
Alex Voicu 696f0595a3 Change directory name to match HIP lowercase style. 2018-02-22 13:15:10 +00:00
Alex Voicu 1563d53c92 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_purge_genco 2018-02-22 12:08:52 +00:00
Maneesh Gupta 6ef0c494d1 [build] Add clangformat target to cmake
- Added a new target "clangformat" which formats the code using the
  clang-format tool found in HCC package.
- Renamed target "static_check" to "cppcheck".
- Use find_program() macro to make the build system more robust.

Change-Id: Ifefbf36f23ff7ef27a870120d5b9170d0cc8aa52
2018-02-12 10:21:27 +05:30
Alex Voicu 09c704a2d0 Merge branch 'master' of https://github.com/ROCm-Developer-Tools/HIP into feature_purge_genco 2018-01-17 14:02:19 +00:00
Alex Voicu 863f08c6a6 Add Catecholamine (CA), a tool for breaking code objects out of fat binaries created via LPL. As with LPL, --help provides usage details. Fixed LPL's implementation of path_to_self which was a nasty infinite loop iff for whatever reason readlink would always fail, orthogonally to the string's size. Link against pthread for LPL, which uses call_once and once_flag (this could, under certain circumstances, yield an arcane "Unknown error=-1" exception. 2017-12-14 13:32:27 +00:00
Maneesh Gupta 379cbfedcf [cmake] Added target static_check for static code analysis
- Added static code analysis using cppcheck
- Fixed couple of warnings reported by cppcheck

Change-Id: Ie3b9b06e95ada322e7dc2ce3d6b91831e870198d
2017-12-14 12:16:44 +05:30
Alex Voicu bdd2d6d602 Add omitted changes in CMakeLists.txt. 2017-11-10 01:20:50 +00:00
Chris Kitching de8dcf0ed2 Use cmake's builtin mechanism for handling library locations
See [the documentation](https://cmake.org/cmake/help/v3.0/command/find_package.html)
for exactly how the search procedure works. If you want to use an
LLVM from a specific location, use CMAKE_PREFIX_PATH as normal.

No longer do we have a nonstandard HIPIFY_CLANG_LLVM_DIR variable
for people to learn about.
2017-10-27 19:39:40 +01:00
Chris Kitching 414a473d5c Use add_dependencies to avoid duplication of pkg_hip_base 2017-10-27 19:39:40 +01:00
Chris Kitching 497a776f6c Make BUILD_HIPIFY_CLANG a cmake option
Instead of deciding whether to build hipify-clang based on
the presence of an LLVM path on the command line, have an
explicit option.

Do we want this default-on or default-off? I've defaulted it to
on for now, but maybe we want the opposite?
2017-10-27 19:39:39 +01:00
Ben Sander 702651fc85 Merge pull request #100 from weixingzhang/texture
HIP Texture Support
2017-07-26 19:28:15 -05:00
Maneesh Gupta 1b5d19ff36 [cmake] No longer rebuild cmake cache on each build
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
2017-07-26 13:51:32 +05:30
Weixing Zhang ccbd3b13fc HIP Texture Support 2017-07-17 15:16:12 -04:00
Ben Sander 18660be8ce Add hipdbPrintMem - wrapper for hcc memory tracker. 2017-07-03 15:05:30 -05:00
Maneesh Gupta bb928ee8ec [build] link libCXActivityLogger.so when COMPILE_HIP_ATP_MARKER=1
Change-Id: I0bfffd924cd858bec7436acf3ccb1e3375172f27
2017-06-28 10:26:04 +05:30
Maneesh Gupta b3b1ba1e5d Do not rebuild cmake cache by default
Change-Id: Ie21e99beaa3465b54b5a6a77439c455f34de98b3
2017-04-13 12:38:38 +05:30
Maneesh Gupta 6db8c7c69e dtests should ignore HIP_PATH env var
Change-Id: I27b1cdab6e6b799987dad3ce97b56c764b1b8867
2017-04-13 12:12:04 +05:30
Sun, Peng b91a37c78a Disable LLVM related config in CMakeLists.txt
Change-Id: I02e52264219d68c1ae8ea37c8df166a0edf9f7cd
2017-04-01 15:01:00 -05:00
Sun, Peng df4cee1a57 GGL update, fix for thread-safe access to streams (accelerator_views).
Change-Id: I6dd329a85b3ba7de23d52823febee0c53857a981
2017-04-01 14:50:39 -05:00
Aditya Atluri abf369049b Re-enabled metadata parsing in HIP
Change-Id: If8caa844571cb8581450df9ffdb76e2445c75f13
2017-03-27 11:00:39 -05:00
Maneesh Gupta 84cb55da9b Revert "Mark hcc_LIBRARIES as PRIVATE"
This reverts commit 89623f748d.
2017-03-23 22:02:52 +05:30
Aditya Atluri 5a0685c137 removed llvm dependency and metadata functionality
Change-Id: Ib9783b75d326559ed29c5aa2218aed40d20ad0fb
2017-03-23 10:16:37 -05:00
Maneesh Gupta 89623f748d Mark hcc_LIBRARIES as PRIVATE
Change-Id: Ia0f8f12148b69c9de78378d117e3561ce20cd827
2017-03-23 16:25:53 +05:30
Aditya Atluri a19bce16e4 fixed paths to find llvm
Change-Id: I0a4af8cea2f44fea011d09fc300e382984746d17
2017-03-21 14:22:49 -05:00
Aditya Atluri 9645b0e0dc Added default module launch api functionality
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
2017-03-17 13:11:34 -05:00
Maneesh Gupta 1b92ae9917 Add gfx900 support
Change-Id: I3be2fbdcb6d3fa776c4fe668586c67245a1323f2
2017-03-14 13:51:38 +05:30
Rahul Garg 158cb58c36 Removed hsakmt headers
Change-Id: I4ffc95d5823489195ebc5638226b49ea2995f603
2017-03-06 22:37:05 +05:30
Siu Chi Chan bb5df5b6c9 fix hcc version string extraction
Change-Id: Ie209b6deae55c779a577aaccb1bc21f969f69e14
2017-03-06 15:33:43 +05:30
Maneesh Gupta 5df7b775f6 CMakeLists: Create test targets only if HIP install location is writable
Change-Id: I79f28884b0f117f2824ca8877c25b586bce62e5b
2017-03-06 15:32:21 +05:30
Maneesh Gupta fe01dd74a2 directed tests no longer run in an subdirectory
- 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
2017-02-27 13:14:08 +05:30
Maneesh Gupta d193187601 Fix export interfaces in hip-config.cmake
Change-Id: Ifad4661ab17d7e6edb6ab300f1e92552ed917950
2017-02-23 11:18:06 +05:30
Siu Chi Chan ca8045e6e4 Squashed commit of the following:
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)
2017-02-16 13:12:32 +05:30
Maneesh Gupta 57f7f4660a Generate package config for cmake
Change-Id: I73a0b21361bbe29e095dc515bdc70588ec722d57
2017-02-13 16:01:50 +05:30
Paul f1f01ceb63 Set hip version correctly 2017-02-13 15:57:10 +05:30
Maneesh Gupta 3967ece8dd Build libhip_hcc.so as a fat binary
Change-Id: Ie4f334d8f9576edf5df0f917f72083d7842eb193
2017-02-10 10:32:04 +05:30
Aditya Atluri 60ec83c683 Fixed Hawaii link issues
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
2017-02-08 12:04:05 -06:00
Ben Sander bc809460f5 Move core env var processing to env.cpp 2017-01-23 22:34:41 -06:00
Aditya Atluri d23b6b8694 Moved device code to mimic cuda header behavior
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
2017-01-17 14:57:51 -06:00
scchan d71ac5c91a [cmake] add library dependencies to hip_hcc libraries 2017-01-05 18:26:54 -05:00
Maneesh Gupta 1b50462ce0 hip_hcc package changes
- updated hip_hcc package creation dependencies
- support build hip_hcc package for HCC-1.0

Change-Id: Idf23e415eff8cb352a8906191c79bd822c7618e7
2016-12-22 15:30:38 +05:30
Aditya Atluri 7a712aa76b added few type reinterpret cast device functions
1. __int_as_float
2. __hiloint2double

Change-Id: Id247c196887b24a12090f0521bf91e13afeec733
2016-12-13 14:41:36 -06:00