Commit Graph

288 Commits

Author SHA1 Message Date
Yaxun Sam Liu 71f6bf4e67 Fix default HIP_VDI_HOME
There is soft link /opt/rocm/bin/.hipVersion, therefore when hipcc is executed
as /opt/rocm/bin/hipcc, it will set HIP_VDI_HOME to /opt/rocm, which is
incorrect. Check ../lib/bitcode instead to identify HIP_VDI_HOME.
2019-05-31 23:58:59 -04:00
Konstantin Pyzhov ee1d0efdf6 Fixed setting HIP_CLANG_PATH on Windows. 2019-05-28 09:38:17 -04:00
Yaxun (Sam) Liu e17f94e080 Fix hipcc for hip-clang. (#1143)
* Fix hipcc for hip-clang.

If there is -g, do not add -O3 by default.
If HIP_VDI_HOME is not set, set HIP_VDI_HOME based on hipcc directory for HIP/VDI runtime.
For HIP/VDI runtime, set HIP_CLANG_PATH and DEVICE_LIB_PATH based on HIP_VDI_HOME only if they exist.

This allows using HIP/VDI runtime with hip-clang installed at /opt/rocm/llvm and device lib installed
at /opt/rocm/lib.

* Fix HIP_VDI_HOME for hipcc called from /opt/rocm/bin
2019-05-28 09:40:34 +05:30
Maneesh Gupta 43e2c9d361 Merge pull request #1136 from yxsamliu/fix-rdc
Fix device lib path for hip-clang.
2019-05-24 14:16:30 +05:30
Yaxun Sam Liu bba85f0e24 Fix device lib path for hip-clang.
We now always need device lib path when compiling and not need it at linking.
2019-05-23 15:11:02 -04:00
Aaron Enye Shi 20ea7e9d26 Fix hipcc exit code when failing 2019-05-16 20:36:58 +00:00
Michael LIAO 7f8b80103d [hipcc] Repace --rpath with --rpath-link
- With `--rpath`, app's RUNPATH is set to the temporary library path
  during build. Instead, `--rpath-link` should be used to leave RUNPATH
  untouched. User should set LD_LIBRARY_PATH or system ld.so.conf to
  proper setting.
2019-04-29 16:01:16 -04:00
Aaron Enye Shi a3d118eaa8 Revert "Use COMgr to read Kernel Args Metadata (#1006)"
This reverts commit 8a548bf40b.
2019-04-26 16:04:56 -04:00
Evgeny Mankov abd1c53cf8 [HIPIFY][perl][fix][258] Memory fence device functions are supported now 2019-04-25 13:27:30 +03:00
Evgeny Mankov defc6f8155 [HIPIFY][hipify-perl] Formatting 2019-04-23 17:55:47 +03:00
Aaron Enye Shi 8a548bf40b Use COMgr to read Kernel Args Metadata (#1006)
* Add CMAKE dep to amd_comgr

* Use COMGR for read_kernarg_metadata in COV2

* Do not assume kernargs exist

* Add proper metadata destroy cleanup

* Use a process function for easier destroy

* Remove old read_kernarg_metadata

* Clean up HCC, prints, names

* Use COMGR in CMAKE by default

* Move metadata lookup for keyword values into helper

* Remove C string usage for lookup_keyword_value

* Guard COMGR for non-NVCC path

* Add hip_hcc dependency on comgr package

* Add lifetime to metadata nodes

* Find COMGR config file for amd_comgr target

* Move set_active data earlier
2019-04-16 08:34:39 +05:30
Yaxun (Sam) Liu a31036ab74 hip-clang: fix hipcc options
Use -O3 for default optimization level.
Fix --hip-device-lib-path for warnings about unused option.
2019-04-09 22:31:13 -04:00
Yaxun (Sam) Liu c0e0ea9a12 hip-clang: add include path for hsa headers 2019-04-09 15:01:50 -04:00
Anthony Cowley e9b1881c60 hipify: translate cudaErrorInvalidSymbol 2019-04-02 08:54:37 -04:00
Yaxun Sam Liu e2bf34cd5e Change HIP dll name to amdhip64.dll on Windows 2019-03-19 16:27:18 -04:00
Maneesh Gupta 2d67bc5e9c Merge pull request #936 from mangupta/swdev-174923
[hipconfig] Update HIP_PLATFORM detection logic
2019-03-06 06:08:11 +05:30
Yaxun Sam Liu e8556388f9 Revert "hipcc should consume -mcode-object-v3 flag"
This reverts commit eb33507774.
2019-02-28 11:21:47 -05:00
Yaxun Sam Liu 1bd8d24278 Revert "Change code-object flag to only HIP-Clang"
This reverts commit 1c6365fbe7.
2019-02-28 11:20:04 -05:00
Yaxun Sam Liu 737972d31c Revert "Consume the code obj args to prevent duplicates"
This reverts commit 2cd34f3c01.
2019-02-28 11:19:35 -05:00
Maneesh Gupta 8b25f7b4cf [hipcofig] Update HIP_PLATFORM detection logic
HIP_PLATFORM detection logic relied on finding a working KFD. If it was
found, the platform was set as hcc else as nvcc.
However this logic is flawed since it is possible for the development
system to only have the user mode bits to build HIP application code.
Hence the better logic is to rely on finding a suitable compiler.
The new logic is as follows:
- look for a working HCC. If found, platform is set as hcc.
- else look for a working NVCC. If found, platform is set as nvcc.
- else the platform defaults to hcc for now.

Change-Id: Ifcc42c29a19f722153d5c23c55f1a8765dceaf6b
2019-02-27 14:10:21 +05:30
Aaron Enye Shi 2cd34f3c01 Consume the code obj args to prevent duplicates 2019-02-19 17:02:27 +00:00
Maneesh Gupta c8579ead67 Initialize HIP_LIB_PATH on hcc path
Change-Id: I8f392fffcd6a3714c20cb17e876dbaad999c33a0
2019-02-13 09:57:21 +05:30
Maneesh Gupta d91bbf881c Merge pull request #910 from aaronenyeshi/hip-code-obj-v3-passing
hipcc should consume -mcode-object-v3 flag
2019-02-13 08:58:19 +05:30
Aaron Enye Shi 1c6365fbe7 Change code-object flag to only HIP-Clang 2019-02-11 17:18:12 +00:00
Maneesh Gupta 31c4a0dff1 Merge pull request #911 from lmoriche/hip_clang
Allow HIP_LIB_PATH to be overriden at the command line. Use HIP_LIB_P…
2019-02-11 11:26:39 +05:30
Maneesh Gupta 61a8947d1c Merge pull request #903 from yxsamliu/win2
Fix hipcc and hip_vector_types.h for windows
2019-02-11 11:24:03 +05:30
Laurent Morichetti 4eaf4b7c0a Allow HIP_LIB_PATH to be overriden at the command line. Use HIP_LIB_PATH for rpath instead of HIP_PATH/lib 2019-02-08 13:50:13 -08:00
Aaron Enye Shi eb33507774 hipcc should consume -mcode-object-v3 flag 2019-02-08 18:29:14 +00:00
Aaron Enye Shi 3ad75e8d14 Add hipInfo path for VDI build 2019-02-07 22:05:14 +00:00
Yaxun Sam Liu a474dc7579 Fix hipcc and hip_vector_types.h for windows
Disable linux specific compilation and linking options for windows.

In hip_vector_types.h, hip-clang needs HIP's own implementation for vector types even
on windows. MSVC specific implementation is for building runtime itself, which is compiled
by MSVC.
2019-02-07 11:07:50 -05:00
Maneesh Gupta baea9f64e7 Merge pull request #898 from yxsamliu/windows
Add windows specific compilation options
2019-02-07 06:00:24 +05:30
Maneesh Gupta e3d85e9ecc Merge pull request #894 from davidrohr/PR
Use -isystem instead of -I to suppress warnings in HIP headers
2019-02-07 05:58:47 +05:30
Maneesh Gupta 4ff12f958c Merge pull request #891 from aaronenyeshi/hip-clang-default
hipcc defaults to HIP-Clang if built with HIP-Clang
2019-02-07 05:58:38 +05:30
Yaxun Sam Liu 52df98a5d1 Add windows specific compilation options 2019-02-05 15:31:20 -05:00
David Rohr e04e391f3a Use -isystem instead of -I to suppress warnings in HIP headers 2019-02-04 15:07:06 +01:00
Aaron Enye Shi 479d2d093f Add HIP_RUNTIME for HCC or VDI 2019-02-01 22:30:30 +00:00
Aaron Enye Shi 489cef167f hipcc defaults to HIP-Clang if built with HIP-Clang
Add HIP_COMPILER to hipConfig, so that HIP packages built with HIP_COMPILER for HIP-Clang will be known during runtime by hipcc. Also add default locations to check for llvm and device-libs.
2019-02-01 16:52:55 +00:00
Stanley Tsang 6531262126 Adding support in the hipify-perl tool for the HIP_SYMBOL macro, which is required for hip API calls involving a device symbol. Added more explicit mention of the HIP_SYMBOL macro in the porting guide. 2018-12-19 12:21:02 -05:00
Maneesh Gupta 491caacff1 Merge pull request #776 from yxsamliu/fix-vdi-path
Let hipcc handle HIP_VDI_HOME without x86_64
2018-11-28 09:33:03 +05:30
Yaxun Sam Liu 450f093231 Let hip-clang support --genco 2018-11-27 15:55:50 -05:00
Yaxun Sam Liu 9d46966a59 Let hipcc handle HIP_VDI_HOME without x86_64 2018-11-26 17:00:37 -05:00
Michael Kuron 8610128c3e Merge branch 'master' into getsymboladdress 2018-11-20 12:03:22 +01:00
Yaxun Sam Liu 3d51a1fb01 Let hipcc handle clang-offload-bundler file in obj format for hip-clang 2018-11-08 16:50:34 -05:00
Michael Kuron 509b29594a hipify-perl: add hipGetSymbolAddress and hipGetSymbolSize 2018-11-06 12:02:21 +01:00
Maneesh Gupta 0b86b421c1 Merge pull request #714 from aaronenyeshi/remove-static-hip-device
Remove libhip_device.a static library
2018-10-31 14:08:29 +05:30
Aaron Enye Shi 817b27d530 Remove libhip_device.a static library
Move remaining function definitions from device_util.cpp to hip_runtime.h header. We can now remove the static library completely as device_util.cpp was the last file part of target hip::hip_device .
2018-10-25 19:52:35 +00:00
Yaxun Sam Liu 283fb42604 Let hipcc handle gfx906 for hip-clang 2018-10-21 10:04:30 -04:00
Maneesh Gupta 4b754e1d77 Merge pull request #698 from yxsamliu/compile-flags
Add HIPCC_COMPILE_FLAGS_APPEND
2018-10-17 10:53:17 +05:30
Yaxun Sam Liu 43402d5602 Let hipcc add --hip-device-lib-path by default for hip-clang
hip-clang by default assumes -fno-gpu-rdc, therefore requires
--hip-device-lib-path by default.
2018-10-01 15:14:54 -04:00
Yaxun Sam Liu dcc85be374 Add HIPCC_COMPILE_FLAGS_APPEND 2018-10-01 14:51:29 -04:00