Skip to content

Commit

Permalink
Merge pull request #27 from mariux64/Add-julia-1.0
Browse files Browse the repository at this point in the history
Add julia 1.0
  • Loading branch information
donald authored Sep 19, 2018
2 parents 02cea30 + 2d04162 commit f0bdfd0
Showing 1 changed file with 113 additions and 0 deletions.
113 changes: 113 additions & 0 deletions julia-1.0.0-0.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
#! /bin/bash

PKG=julia
VERSION=1.0.0
BUILD=0

PREFIX=/pkg/$PKG-$VERSION-$BUILD
#PREFIX=/dev/shm/$PKG-$VERSION-$BUILD

set -xe
umask 022

BUILD_TMPDIR=/dev/shm/$PKG-$VERSION-$BUILD.build.tmp
test -d $BUILD_TMPDIR && rm -rf $BUILD_TMPDIR
mkdir -p $BUILD_TMPDIR/home
export TMPDIR=$BUILD_TMPDIR
export HOME=$BUILD_TMPDIR/home

exec </dev/null

mkdir -p $PREFIX
cat >$PREFIX/profile <<-EOF
PATH=$PREFIX/bin:\$PATH
EOF
. $PREFIX/profile

export MAKEFLAGS="-j $(nproc)"

BUILDDIR=$PREFIX/build

mkdir -p $BUILDDIR
cd $BUILDDIR

test -e julia-${VERSION}-full.tar.gz || wget https://github.com/JuliaLang/julia/releases/download/v${VERSION}/julia-${VERSION}-full.tar.gz
test -d julia || tar xvf julia-${VERSION}-full.tar.gz
cd julia


patch -p1 <<'EOF'
From 44d590277454035841803083f57af1b861192595 Mon Sep 17 00:00:00 2001
From: Donald Buczek <buczek@molgen.mpg.de>
Date: Fri, 30 Jun 2017 11:41:41 +0200
Subject: [PATCH 1/2] Allow OpenBLAS NUM_THREADS to be overwritten
When building OpenBLAS we have some default for its NUM_THREADS build
option. Allow this default to be overwritten by a new
OPENBLAS_NUM_THREADS make variable.
---
deps/blas.mk | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/deps/blas.mk b/deps/blas.mk
index 55216c8..b9bf8ed 100644
--- a/deps/blas.mk
+++ b/deps/blas.mk
@@ -14,17 +14,18 @@ OPENBLAS_BUILD_OPTS += GEMM_MULTITHREADING_THRESHOLD=50
ifneq ($(ARCH),x86_64)
# Assume we can't address much memory to spawn many threads
# It is also unlikely that 32-bit architectures have too many cores
-OPENBLAS_BUILD_OPTS += NUM_THREADS=8
+OPENBLAS_NUM_THREADS:=8
else ifeq ($(OS),WINNT)
# Windows seems unable to handle very many
-OPENBLAS_BUILD_OPTS += NUM_THREADS=16
+OPENBLAS_NUM_THREADS:=16
else ifeq ($(OS),Darwin)
# This should suffice for the largest macs
-OPENBLAS_BUILD_OPTS += NUM_THREADS=16
+OPENBLAS_NUM_THREADS:=16
else
# On linux, try to provision for the largest possible machine currently
-OPENBLAS_BUILD_OPTS += NUM_THREADS=16
+OPENBLAS_NUM_THREADS:=16
endif
+OPENBLAS_BUILD_OPTS += NUM_THREADS=$(OPENBLAS_NUM_THREADS)
else
OPENBLAS_BUILD_OPTS += USE_THREAD=0
endif
--
2.4.1
---
ist etwas runtergehackt
aber dadurch dass auf all unseren Servern mehr als 8 threads sind, sollte es
immer greifen
mit `OPENBLAS_NUM_THREADS=x julia` kann man es zur laufzeit erhoehen
diff --git a/base/sysimg.jl b/base/sysimg.jl
index dd605b0..ed3c7b2 100644
--- a/base/sysimg.jl
+++ b/base/sysimg.jl
@@ -459,7 +459,7 @@ function __init__()
if !haskey(ENV, "OPENBLAS_NUM_THREADS") && !haskey(ENV, "OMP_NUM_THREADS")
cpu_threads = Sys.CPU_THREADS::Int
if cpu_threads > 8 # always at most 8
- ENV["OPENBLAS_NUM_THREADS"] = "8"
+ ENV["OPENBLAS_NUM_THREADS"] = "1"
elseif haskey(ENV, "JULIA_CPU_THREADS") # or exactly as specified
ENV["OPENBLAS_NUM_THREADS"] = cpu_threads
end # otherwise, trust that openblas will pick CPU_THREADS anyways, without any intervention
--
EOF


make -j $(nproc) prefix="${PREFIX}" MARCH=x86-64 OPENBLAS_NUM_THREADS=80
make install prefix=${PREFIX} MARCH=x86-64

cp -av ${BUILDDIR}/julia/usr/bin/julia-debug ${PREFIX}/bin/
cp -av ${BUILDDIR}/julia/usr/lib/libjulia-debug.so* ${PREFIX}/lib/
cp -av ${BUILDDIR}/julia/usr/lib/julia/sys-debug.so ${PREFIX}/lib/julia/

for i in `ls ${PREFIX}/bin`; do
ln -sv ${PREFIX}/bin/$i{,-$VERSION}
done

exit

0 comments on commit f0bdfd0

Please sign in to comment.