Building Julia 0.4.5 on Comet
Get access to a compute node so that you have full memory and processing resources:
salloc -N 1 -t 120
Get Julia!
wget https://github.com/JuliaLang/julia/releases/download/v0.4.5/julia-0.4.5-full.tar.gz
Unpack and switch into the directory
tar xvzf julia-0.4.5-full.tar.gz
cd julia-0.4.5
Configure the Make.user
file (which does not exist, yet) so that we take
advantage of Intel's goodies:
USEICC = 1
USEIFC = 1
USE_INTEL_MKL = 1
USE_INTEL_MKL_FFT = 1
USE_INTEL_LIBM = 1
Figure out where ICC is hiding which icc
Load its compiler variables (e.g.):
source /opt/intel/composer_xe_2013_sp1.2.144/bin/compilervars.sh intel64
Make things (with many cores)!
make -j 24
Things stop working. Run make
to get back to the error message.
Get this error:
Warning: git information unavailable; versioning information limited
Warning: git information unavailable; versioning information limited
GEN src/unix/uv-dtrace.o
gcc: error: unrecognized command line option ‘-static-intel’
"gcc /tmp/tmplsN9bM.c" failed
Usage /usr/bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>]
make[3]: *** [src/unix/uv-dtrace.o] Error 1
make[2]: *** [all] Error 2
make[1]: *** [libuv-efb40768b7c7bd9f173a7868f74b92b1c5a61a0e/.libs/libuv.la] Error 2
make: *** [julia-deps] Error 2
Fix it:
export CC=icc
Make things!
make -j 24
Things stop. Run make
to figure out why.
Get this error:
Warning: git information unavailable; versioning information limited
JULIA usr/lib/julia/inference0.ji
could not allocate pools
/bin/sh: line 1: 8512 Aborted /home/rbarnes1/temp/julia-0.4.5/usr/bin/julia -C native --output-ji /home/rbarnes1/temp/julia-0.4.5/usr/lib/julia/inference0.ji -f coreimg.jl
make[1]: *** [/home/rbarnes1/temp/julia-0.4.5/usr/lib/julia/inference0.ji] Error 134
make: *** [julia-inference] Error 2
Fix it:
pico src/gc.c
Find Line 165. It looks like this:
#define REGION_PG_COUNT 16*8*4096 // 8G because virtual memory is cheap
make it look like this:
#define REGION_PG_COUNT 8*4096 // 8G because virtual memory is cheap (becomes 512MB)
Make things!
make -j 24
Victory!
Create a symbolic link to julia-0.4.5/usr/bin/julia
from wherever your bin
directory is, or set up an appropriate alias.
More Info: