Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8e4507d446 | |||
| 7158180a3f | |||
| fa701984ee | |||
| 32c3627516 |
@@ -1,4 +0,0 @@
|
|||||||
* Mon Nov 25 2024 Tom Rix <Tom.Rix@amd.com> - 6.2.1-100
|
|
||||||
- Restart manual changelog
|
|
||||||
- Reduce build to gfx1100
|
|
||||||
- Build for TW
|
|
||||||
70
rccl.spec
70
rccl.spec
@@ -1,3 +1,24 @@
|
|||||||
|
#
|
||||||
|
# Copyright Fedora Project Authors.
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to
|
||||||
|
# deal in the Software without restriction, including without limitation the
|
||||||
|
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
# sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in
|
||||||
|
# all copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
# THE SOFTWARE.
|
||||||
|
#
|
||||||
%if 0%{?suse_version}
|
%if 0%{?suse_version}
|
||||||
%global rccl_name librccl1
|
%global rccl_name librccl1
|
||||||
%else
|
%else
|
||||||
@@ -49,7 +70,7 @@
|
|||||||
|
|
||||||
Name: %{rccl_name}
|
Name: %{rccl_name}
|
||||||
Version: %{rocm_version}
|
Version: %{rocm_version}
|
||||||
Release: 4%{?dist}
|
Release: 7%{?dist}
|
||||||
Summary: ROCm Communication Collectives Library
|
Summary: ROCm Communication Collectives Library
|
||||||
|
|
||||||
Url: https://github.com/ROCm/rccl
|
Url: https://github.com/ROCm/rccl
|
||||||
@@ -159,6 +180,40 @@ sed -i '/#include <map.*/a#include <iomanip>' test/common/TestBed.hpp
|
|||||||
# Convert the c++14 to c++17
|
# Convert the c++14 to c++17
|
||||||
sed -i -e 's@set(CMAKE_CXX_STANDARD 14)@set(CMAKE_CXX_STANDARD 17)@' CMakeLists.txt
|
sed -i -e 's@set(CMAKE_CXX_STANDARD 14)@set(CMAKE_CXX_STANDARD 17)@' CMakeLists.txt
|
||||||
|
|
||||||
|
# RCCL uses -parallel-jobs for both compiling and linking
|
||||||
|
# compiling is set to 12, which may be more than the cores on the build machine.
|
||||||
|
# linking is set by reserving 16GB pre thread, can be too little.
|
||||||
|
# Use our own heuristics here
|
||||||
|
# Real cores, No hyperthreading
|
||||||
|
COMPILE_JOBS=`cat /proc/cpuinfo | grep -m 1 'cpu cores' | awk '{ print $4 }'`
|
||||||
|
if [ ${COMPILE_JOBS}x = x ]; then
|
||||||
|
COMPILE_JOBS=1
|
||||||
|
fi
|
||||||
|
# Try again..
|
||||||
|
if [ ${COMPILE_JOBS} = 1 ]; then
|
||||||
|
COMPILE_JOBS=`lscpu | grep '^CPU(s)' | awk '{ print $2 }'`
|
||||||
|
if [ ${COMPILE_JOBS}x = x ]; then
|
||||||
|
COMPILE_JOBS=4
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Take into account memmory usage per core, do not thrash real memory
|
||||||
|
# inflate this to prevent competing with normal compile jobs
|
||||||
|
BUILD_MEM=16
|
||||||
|
MEM_KB=0
|
||||||
|
MEM_KB=`cat /proc/meminfo | grep MemTotal | awk '{ print $2 }'`
|
||||||
|
MEM_MB=`eval "expr ${MEM_KB} / 1024"`
|
||||||
|
MEM_GB=`eval "expr ${MEM_MB} / 1024"`
|
||||||
|
COMPILE_JOBS_MEM=`eval "expr 1 + ${MEM_GB} / ${BUILD_MEM}"`
|
||||||
|
if [ "$COMPILE_JOBS_MEM" -lt "$COMPILE_JOBS" ]; then
|
||||||
|
COMPILE_JOBS=$COMPILE_JOBS_MEM
|
||||||
|
fi
|
||||||
|
LINK_MEM=24
|
||||||
|
LINK_JOBS=`eval "expr 1 + ${MEM_GB} / ${LINK_MEM}"`
|
||||||
|
|
||||||
|
sed -i -e "s@rccl PRIVATE -parallel-jobs=12@rccl PRIVATE -parallel-jobs=${COMPILE_JOBS}@" CMakeLists.txt
|
||||||
|
sed -i -e "s@-parallel-jobs=\${num_linker_jobs}@-parallel-jobs=${LINK_JOBS}@" CMakeLists.txt
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%cmake \
|
%cmake \
|
||||||
-DAMDGPU_TARGETS=%{rocm_gpu_list_rccl} \
|
-DAMDGPU_TARGETS=%{rocm_gpu_list_rccl} \
|
||||||
@@ -181,9 +236,7 @@ sed -i -e 's@set(CMAKE_CXX_STANDARD 14)@set(CMAKE_CXX_STANDARD 17)@' CMakeList
|
|||||||
%install
|
%install
|
||||||
%cmake_install
|
%cmake_install
|
||||||
|
|
||||||
if [ -f %{buildroot}%{_prefix}/share/doc/rccl/LICENSE.txt ]; then
|
rm -f %{buildroot}%{_prefix}/share/doc/rccl/LICENSE.txt
|
||||||
rm %{buildroot}%{_prefix}/share/doc/rccl/LICENSE.txt
|
|
||||||
fi
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license LICENSE.txt
|
%license LICENSE.txt
|
||||||
@@ -210,6 +263,15 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 27 2025 Tom Rix <Tom.Rix@amd.com> - 6.4.2-7
|
||||||
|
- Add Fedora copyright
|
||||||
|
|
||||||
|
* Mon Aug 25 2025 Tom Rix <Tom.Rix@amd.com> - 6.4.2-6
|
||||||
|
- Simplify file removal
|
||||||
|
|
||||||
|
* Mon Aug 18 2025 Tom Rix <Tom.Rix@amd.com> - 6.4.2-5
|
||||||
|
- Fine tune parallel jobs
|
||||||
|
|
||||||
* Thu Aug 14 2025 Tom Rix <Tom.Rix@amd.com> - 6.4.2-4
|
* Thu Aug 14 2025 Tom Rix <Tom.Rix@amd.com> - 6.4.2-4
|
||||||
- build --with test on SUSE
|
- build --with test on SUSE
|
||||||
- Remove multibuild file generation
|
- Remove multibuild file generation
|
||||||
|
|||||||
Reference in New Issue
Block a user