-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Nicholas Sielicki
committed
Aug 15, 2024
1 parent
32daa37
commit 26016dd
Showing
5 changed files
with
126 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: generate SRPM | ||
on: [push, pull_request] | ||
jobs: | ||
srpm: | ||
runs-on: ubuntu-latest | ||
container: | ||
image: fedora:rawhide | ||
options: --privileged | ||
steps: | ||
- run: dnf install -y packit git nodejs | ||
- uses: actions/checkout@v4 | ||
- run: git config --global --add safe.directory /__w/aws-ofi-nccl/aws-ofi-nccl | ||
- run: packit srpm | ||
- uses: actions/upload-artifact@v4 | ||
with: | ||
name: "libnccl-net-ofi.src.rpm" | ||
path: "*.src.rpm" | ||
if-no-files-found: 'error' | ||
compression-level: '0' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,3 +75,5 @@ m4/lt~obsolete.m4 | |
.idea/ | ||
.devenv/ | ||
.direnv | ||
*.src.rpm | ||
dist/*.t*gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
--- | ||
# vi:ts=2 sw=2 et: | ||
# | ||
# Docs: https://packit.dev/docs/ | ||
|
||
|
||
srpm_build_deps: | ||
- git | ||
|
||
actions: | ||
get-current-version: | ||
- bash -c "cat configure.ac | grep -i AC_INIT | cut -d'[' -f3 | cut -d']' -f1" | ||
create-archive: | ||
- bash -c "git archive --prefix=libnccl-net-ofi/ --format=tgz --output=./dist/libnccl-net-ofi_${PACKIT_PROJECT_VERSION}.tar.gz HEAD src/ include/ doc/ m4/ tests/ topology/ configure.ac Makefile.am LICENSE NOTICE" | ||
- bash -c "echo dist/libnccl-net-ofi_${PACKIT_PROJECT_VERSION}.tar.gz" | ||
|
||
specfile_path: dist/libnccl-net-ofi.spec | ||
upstream_package_name: libnccl-net-ofi | ||
downstream_package_name: libnccl-net-ofi | ||
release_suffix: "{PACKIT_PROJECT_BRANCH}" | ||
update_release: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# Whether to build with cuda support. Default: on if neuron | ||
%if "%{with_cuda}" == "1" && "%{with_neuron}" == "1" | ||
%{error:Neuron and CUDA must not be enabled together} | ||
%endif | ||
|
||
%if "%{with_cuda}" == "0" && "%{with_neuron}" == "0" | ||
%{error:One of Neuron or CUDA must be enabled} | ||
%endif | ||
|
||
%if "%{with_cuda}" == "1" | ||
%{!?target: %global target nccl} | ||
%endif | ||
%if "%{with_neuron}" == "1" | ||
%{!?target: %global target nccom} | ||
%endif | ||
|
||
%global pname_base lib%{!?with_neuron:nccl}%{?with_neuron:nccom}-net-ofi | ||
%global pname %{pname_base}%{?with_platform_aws:-aws} | ||
|
||
%if "%{with_platform_aws}" | ||
%global _prefix /opt/amazon/%{pname_base} | ||
%endif | ||
|
||
# (CUDA only) what toolkit package to declare a build dependency on. Default: 12-6 | ||
%{!?_cuda_toolkit_version: %global _cuda_toolkit_version 12-6} | ||
|
||
Name: %{pname} | ||
Version: 1.11.0pre | ||
Release: 0%{?dist} | ||
Summary: NCCL + libfabric compatibility layer | ||
License: Apache-2.0 | ||
URL: https://github.com/aws/aws-ofi-nccl | ||
Source0: libnccl-net-ofi_placeholder.tar.gz | ||
%if "%{_vendor}" == "debbuild" | ||
Group: devel | ||
%else | ||
Group: Development/Tools%{?suse_version:/Building} | ||
BuildRequires: hwloc-devel | ||
BuildRequires: libfabric-devel | ||
BuildRequires: autoconf | ||
BuildRequires: automake | ||
BuildRequires: libtool | ||
%if "0%{?with_cuda:1}" | ||
BuildRequires: cuda-cudart-devel-%{_cuda_toolkit_version} | ||
%endif | ||
%endif | ||
Requires: hwloc | ||
Requires: libfabric%{?with_platform_aws:-aws} | ||
%description | ||
This is a plugin which lets EC2 developers use libfabric as network provider while running NCCL applications. | ||
|
||
%prep | ||
%setup -n libnccl-net-ofi | ||
%build | ||
autoreconf -ivf | ||
%configure \ | ||
--prefix="%{_prefix}" \ | ||
%if "0%{?with_cuda:1}" | ||
--with-cuda=/usr/local/cuda-12 \ | ||
--enable-neuron=no \ | ||
%else | ||
--with-cuda=no \ | ||
--enable-neuron=yes \ | ||
%endif | ||
--disable-tests \ | ||
--with-mpi=no \ | ||
%if "0%{?with_platform_aws:1}" | ||
--enable-platform-aws | ||
%else | ||
--disable-platform-aws | ||
%endif | ||
|
||
%install | ||
%make_install | ||
%files | ||
%{_libdir}/*.so | ||
%{_datadir}/aws-ofi-nccl/xml/*.xml | ||
%license LICENSE NOTICE | ||
%doc | ||
|
||
%changelog | ||
* Thu Aug 08 2024 Nicholas Sielicki <nslick@amazon.com> | ||
Initial Package |