Skip to content

Commit 238985f

Browse files
author
Jenkins
committed
Add libhwloc support for memkind example
1 parent 1065944 commit 238985f

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

docker/Dockerfile

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ RUN dnf update -y && dnf install -y\
5353
nano\
5454
ncurses-devel\
5555
ndctl-devel\
56+
numactl\
5657
numactl-devel\
5758
java-1.8.0-openjdk\
5859
openssh-server\
@@ -77,8 +78,20 @@ RUN dnf update -y && dnf install -y\
7778
xmvn\
7879
&& curl -sL https://rpm.nodesource.com/setup_10.x | bash - \
7980
&& dnf install -y nodejs \
81+
daxctl-libs \
82+
kmod-libs \
83+
libgcc \
84+
libuuid \
85+
numactl-libs \
86+
openssl-libs \
87+
xz-libs \
88+
zlib \
8089
&& dnf debuginfo-install -y glibc \
8190
&& dnf clean all
91+
92+
COPY hwloc.spec.mk /
93+
COPY docker_install_hwloc.sh /
94+
RUN /docker_install_hwloc.sh
8295

8396
COPY pmdk.sh /
8497
RUN /pmdk.sh

docker/docker_install_hwloc.sh

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: BSD-2-Clause
3+
# Copyright (C) 2020 - 2021 Intel Corporation.
4+
5+
# docker_install_hwloc.sh - is called inside a Docker container;
6+
# installs hwloc library
7+
#
8+
# Parameters:
9+
# -memkind utils/docker directory
10+
#
11+
12+
set -e
13+
14+
UTILS_DOCKER_PATH=$1
15+
16+
HWLOC_LIBRARY_VERSION=v2.3
17+
HWLOC_VERSION="${HWLOC_LIBRARY_VERSION:1}".0
18+
HWLOC_TAR_GZ=hwloc-"${HWLOC_VERSION}".tar.gz
19+
20+
HWLOC_TARBALL_URL=https://download.open-mpi.org/release/hwloc/"$HWLOC_LIBRARY_VERSION"/"$HWLOC_TAR_GZ"
21+
22+
HWLOC_LOCAL_DIR="$HOME"/hwloc/"$HWLOC_LIBRARY_VERSION"
23+
HWLOC_LOCAL_TAR_GZ="$HWLOC_LOCAL_DIR"/"$HWLOC_TAR_GZ"
24+
25+
# create hwloc directory in home directory
26+
mkdir -p "$HWLOC_LOCAL_DIR"
27+
28+
# download and untar hwloc library to hwloc directory
29+
curl -L "$HWLOC_TARBALL_URL" -o "$HWLOC_LOCAL_TAR_GZ"
30+
tar -xzf "$HWLOC_LOCAL_TAR_GZ" -C "$HWLOC_LOCAL_DIR" --strip-components=1
31+
32+
# if [[ $(cat /etc/os-release) = *"fedora"* ]]; then
33+
# rpmdev-setuptree
34+
35+
# SPEC="$UTILS_DOCKER_PATH"/hwloc.spec.mk
36+
# RPMDIR=$HOME/rpmbuild
37+
# RPM_ARCH=$(uname -m)
38+
39+
# cp "$HWLOC_LOCAL_TAR_GZ" "$RPMDIR/SOURCES/${HWLOC_TAR_GZ}"
40+
41+
# rpmbuild -ba $SPEC
42+
# sudo rpm -i $RPMDIR/RPMS/$RPM_ARCH/*.rpm
43+
# else
44+
# go to hwloc directory, build and install library
45+
cd "$HWLOC_LOCAL_DIR"
46+
./configure --prefix=/usr
47+
make -j "$(nproc)"
48+
sudo make -j "$(nproc)" install
49+
# fi

0 commit comments

Comments
 (0)