## START: Set by rpmautospec ## (rpmautospec version 0.7.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global upstreamname HIPIFY %global rocm_release 6.2 %global rocm_patch 4 %global rocm_version %{rocm_release}.%{rocm_patch} # This is a clang tool so best to build with clang %global toolchain clang Name: hipify Version: %{rocm_version} %if 0%{?fedora} Release: %autorelease %else Release: 100%{?dist} %endif Summary: Convert CUDA to HIP Url: https://github.com/ROCm License: MIT Source0: %{url}/%{upstreamname}/archive/rocm-%{version}.tar.gz#/%{upstreamname}-%{version}.tar.gz Patch0: 0001-prepare-hipify-cmake-for-fedora.patch BuildRequires: cmake # Hipify doesn't need hipcc, but this is the easiest way to pull in the same # llvm/lld/clang/compiler-rt version as hipcc: BuildRequires: hipcc BuildRequires: rocm-compilersupport-macros BuildRequires: perl BuildRequires: zlib-devel Requires: perl # ROCm is really only on x86_64 ExclusiveArch: x86_64 %description HIPIFY is a set of tools to translate CUDA source code into portable HIP C++ automatically. %prep %autosetup -p1 -n %{upstreamname}-rocm-%{version} %build export CC=%{rocmllvm_bindir}/clang export CXX=%{rocmllvm_bindir}/clang %cmake -DCMAKE_PREFIX_PATH=%{rocmllvm_cmakedir}/.. %cmake_build %check echo "void f(int *a, const cudaDeviceProp *b) { cudaChooseDevice(a,b); }" > b.cu echo "void f(int *a, const hipDeviceProp_t *b) { hipChooseDevice(a,b); }" > e.hip ./bin/hipify-perl b.cu -o t.hip diff e.hip t.hip %install %cmake_install rm -rf %{buildroot}/usr/hip # Fix executable perm: chmod a+x %{buildroot}%{_bindir}/* # Fix script shebang (Fedora doesn't allow using "env"): sed -i 's|\(/usr/bin/\)env perl|\1perl|' %{buildroot}%{_bindir}//hipify-perl if [ -d %{buildroot}%{_includedir} ]; then rm -rf %{buildroot}%{_includedir} fi %files %doc README.md %license LICENSE.txt %{_bindir}/hipconvertinplace-perl.sh %{_bindir}/hipconvertinplace.sh %{_bindir}/hipexamine-perl.sh %{_bindir}/hipexamine.sh %{_bindir}/hipify-clang %{_bindir}/hipify-perl %{_libexecdir}/%{name} %changelog ## START: Generated by rpmautospec * Mon Nov 25 2024 Tom Rix - 6.2.4-100 - Restart manual changelog * Fri Oct 13 2023 Tom Rix - 5.7.0-2 - Address review comments * Sun Oct 1 2023 Tom Rix - 5.7.0-1 - Initial package ## END: Generated by rpmautospec