summaryrefslogtreecommitdiff
path: root/dev-util/hipcc/files/hipcc-5.7.1-hipcc-hip-version.patch
blob: fa00d44d912e1b2bb3829d183043db7d0d055218 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Edit from:
https://salsa.debian.org/rocm-team/rocm-hipamd/-/blob/759b0773bd848ff9471fa8cdecd9ee21010bc29c/debian/patches/0013-hipcc-hip-version.patch
`--hip-version` is required for correclty including __clang_hip_runtime_wrapper.h
=================================================================================
Description: enforce --hip-version option within hipcc call.
 This change is needed since the normal mechanism in ROCm relies on
 reading a .hipVersion hidden configuration file which has no proper
 equivalent in a FHS compliant tree, as of ROCm 5.0.
Author: Cordell Bloor <cgmb-deb@slerp.xyz>
Bug: https://github.com/ROCm-Developer-Tools/HIP/pull/2937
Forwarded: not-needed
Reviewed-by: Étienne Mollier <emollier@debian.org>
Last-Update: 2022-07-04
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
Index: HIP/bin/hipcc.pl
===================================================================
--- HIP.orig/bin/hipcc.pl
+++ HIP/bin/hipcc.pl
@@ -121,6 +121,9 @@ $HIP_PATH       =   $hipvars::HIP_PATH;
 $ROCM_PATH      =   $hipvars::ROCM_PATH;
 $HIP_VERSION    =   $hipvars::HIP_VERSION;
 $HIP_ROCCLR_HOME =   $hipvars::HIP_ROCCLR_HOME;
+$HIP_VERSION_MAJOR = $hipvars::HIP_VERSION_MAJOR;
+$HIP_VERSION_MINOR = $hipvars::HIP_VERSION_MINOR;
+$HIP_VERSION_PATCH = $hipvars::HIP_VERSION_PATCH;
 
 if ($HIP_PLATFORM eq "amd") {
   $HIP_INCLUDE_PATH = "$HIP_ROCCLR_HOME/include";
@@ -188,6 +191,12 @@ if ($HIP_PLATFORM eq "amd") {
         ## Allow __fp16 as function parameter and return type.
         $HIPCXXFLAGS .= " -Xclang -fallow-half-arguments-and-returns -D__HIP_HCC_COMPAT_MODE__=1";
     }
+
+    # Gentoo: there is no FHS compliant location for .hipVersion where clang will still be
+    # able to find it, so .hipVersion has been omitted and the hip version is passed explicitly
+    $HIPCXXFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH";
+    $HIPCFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH";
+    $HIPLDFLAGS .= " --hip-version=$HIP_VERSION_MAJOR.$HIP_VERSION_MINOR.$HIP_VERSION_PATCH";
 } elsif ($HIP_PLATFORM eq "nvidia") {
     $CUDA_PATH=$ENV{'CUDA_PATH'} // '/usr/local/cuda';
     $HIP_INCLUDE_PATH = "$HIP_PATH/include";