Skip to content

Compiling in Linux

Ali Aghaeifar edited this page Mar 14, 2022 · 2 revisions

Using tbb library for multi-threading:

source /opt/intel/oneapi/setvars.sh
g++ bloch_sim.cpp ./CPU/bloch.cpp -o libbloch_sim.so \
    -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a \
    ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a \
    ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group \
    -L${TBBROOT}/lib/intel64/gcc4.8 -ltbb -lstdc++ -lpthread -lm -ldl \
    -m64  -I"${MKLROOT}/include" -shared -fPIC

Using OPENMP for multi-threading:

source /opt/intel/oneapi/setvars.sh
g++ bloch.cpp -o libbloch.so \
    -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a \
    ${MKLROOT}/lib/intel64/libmkl_intel_thread.a \
    ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group \
    -liomp5 -lpthread -lm -ldl -m64  -I"${MKLROOT}/include" -fopenmp -shared -fPIC
Clone this wiki locally