diff --git a/linpack/.SRCINFO b/linpack/.SRCINFO new file mode 100644 index 0000000..dc7beb3 --- /dev/null +++ b/linpack/.SRCINFO @@ -0,0 +1,16 @@ +pkgbase = linpack + pkgver = 2022.0.2.84 + pkgrel = 1 + url = http://software.intel.com/en-us/articles/intel-math-kernel-library-linpack-download + arch = x86_64 + license = custom + source = https://downloadmirror.intel.com/721397/l-onemklbench-p-2022-0-2-84.tgz + source = linpack.conf + source = linpack_runme_xeon64 + sha1sums = 3c9f41fcd1454bfbb5525a1056b18edc7f58aae5 + sha1sums = 96636f441f3ab48b2df5e24afd2775ff5f954446 + sha1sums = 9529264752433c0fa5fe33c9712ffc3cf83acc2a + +pkgname = linpack + pkgdesc = Benchmark based on linear algebra excellent app for stress testing. + backup = etc/linpack.conf diff --git a/linpack/PKGBUILD b/linpack/PKGBUILD new file mode 100644 index 0000000..2a8c7a7 --- /dev/null +++ b/linpack/PKGBUILD @@ -0,0 +1,25 @@ +# Contributor: graysky +pkgname=('linpack') +pkgver=2022.0.2.84 +_math_kernel_lib=2022.0.2 +pkgrel=1 +arch=('x86_64') +license=('custom') +url="http://software.intel.com/en-us/articles/intel-math-kernel-library-linpack-download" +source=("https://downloadmirror.intel.com/721397/l-onemklbench-p-${pkgver//./-}.tgz" +'linpack.conf' 'linpack_runme_xeon64') +sha1sums=('3c9f41fcd1454bfbb5525a1056b18edc7f58aae5' + '96636f441f3ab48b2df5e24afd2775ff5f954446' + '9529264752433c0fa5fe33c9712ffc3cf83acc2a') + +package_linpack() { + pkgdesc='Benchmark based on linear algebra excellent app for stress testing.' + backup=(etc/linpack.conf) + _base="$srcdir/benchmarks_$_math_kernel_lib" + _test="$_base/linux/mkl/benchmarks/linpack" + + install -Dm755 linpack_runme_xeon64 "$pkgdir/usr/bin/linpack_runme_xeon64" + install -Dm644 linpack.conf "$pkgdir/usr/share/$pkgname/linpack.conf" + install -Dm644 "$_base/license.txt" "$pkgdir/usr/share/licenses/linpack/license.txt" + install -Dm755 "$_test/xlinpack_xeon64" "$pkgdir/usr/bin/xlinpack_xeon64" +} diff --git a/linpack/linpack.conf b/linpack/linpack.conf new file mode 100644 index 0000000..e64a880 --- /dev/null +++ b/linpack/linpack.conf @@ -0,0 +1,22 @@ +Sample Intel(R) LINPACK data file +Intel(R) LINPACK data +1 # number of tests +12600 # problem sizes +12600 # leading dimensions +100 # times to run a test +4 # alignment values (in KBytes) + +# Change the problem sizes and leading dimensions to suite your FREE physical memory +# +# Memory use = 8 x (problem size)^2 +# or +# Problem size = sqrt (memory use / 8) +# +# Consider the following as a conservative guide +# For 1 GB use a problem size and leading dimensions of 6300 +# For 2 GB use a problem size and leading dimensions of 12600 +# For 4 GB use a problem size and leading dimensions of 18900 +# For 8 GB use a problem size and leading dimensions of 25200 +# For 16 GB use a problem size and leading dimensions of 31500 +# For 32 GB use a problem size and leading dimensions of 37800 +# For 64 GB use a problem size and leading dimensions of 44100 diff --git a/linpack/linpack_runme_xeon64 b/linpack/linpack_runme_xeon64 new file mode 100644 index 0000000..b4b5b97 --- /dev/null +++ b/linpack/linpack_runme_xeon64 @@ -0,0 +1,26 @@ +#!/bin/bash +# +export KMP_AFFINITY=nowarnings,compact + +SKEL_CONFIG="/usr/share/linpack" +CONFIG="$SKEL_CONFIG/linpack.conf" +XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" + +[[ -f "$SKEL_CONFIG/linpack.conf" ]] || { + echo "ERROR: Missing $SKEL_CONFIG/linpack.conf - reinstall this package." ; exit 1 ; } + +[[ -d $XDG_CONFIG_HOME ]] || mkdir $XDG_CONFIG_HOME +[[ -f "$XDG_CONFIG_HOME/linpack.conf" ]] || cp "$CONFIG" "$XDG_CONFIG_HOME" + +echo -e "Edit \E[31m$XDG_CONFIG_HOME/linpack.conf\E[37m to adjust the amount of physical memory to consume." +echo +echo -e "Starting calculation.... hit ctrl+c to stop." +echo -e "Consult \E[31m~/lin_xeon64.txt\E[37m for results as they are caculated." + +date +date >> ~/lin_xeon64.txt + +/usr/bin/xlinpack_xeon64 $XDG_CONFIG_HOME/linpack.conf >> ~/lin_xeon64.txt +date >> ~/lin_xeon64.txt +echo -n "Done: " +date