1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # ICC compiler
- #CC =icc
- #CFLAGS=-restrict -unroll4 -ipo -falign-loops=256 -O3 -march=native $(shell pkg-config --cflags starpu-1.3)
- # GCC compiler
- CC=gcc
- NVCC=nvcc
- ENABLE_CUDA=no
- LD=$(CC)
- ifeq ($(ENABLE_CUDA),yes)
- LD := ${NVCC}
- endif
- CFLAGS = -O3 -g $(shell pkg-config --cflags starpu-1.3)
- CPU_CFLAGS = ${CFLAGS} -Wall -mavx -fomit-frame-pointer -march=native -ffast-math
- CUDA_CFLAGS = ${CFLAGS}
- LDFLAGS +=$(shell pkg-config --libs starpu-1.3)
- EXTERNLIB=extern_tasks.so
- GENERATEDLIB=generated_tasks.so
- C_OBJECTS=$(patsubst %.c,%.o,$(wildcard gen*.c))
- CUDA_OBJECTS=$(patsubst %.cu,%.o,$(wildcard gen*.cu))
- ifneq ($(ENABLE_CUDA),yes)
- CUDA_OBJECTS:=
- endif
- all: ${EXTERNLIB}
- mult: mult.c cpu_mult.o #gpu_mult.o
- $(CC) $(CPU_CFLAGS) $^ -o $@ $(LDFLAGS)
- %.o: %.c
- $(CC) -c -fPIC $(CPU_CFLAGS) $^ -o $@
- %.o: %.cu
- $(NVCC) -dc $(CUDA_CFLAGS) $^ --shared --compiler-options '-fPIC' -o $@ $(LDFLAGS)
- ${EXTERNLIB}: cpu_mult.c
- $(CC) $(CFLAGS) -shared -fPIC $(LDFLAGS) $^ -o $@
- ${GENERATEDLIB}: $(C_OBJECTS) $(CUDA_OBJECTS)
- $(LD) -shared $(LDFLAGS) $^ -o $@
- .PHONY: clean
- clean:
- rm -f mult *.so *.o genc_*.c gencuda_*.cu *.dat
- # Performance Tests
- STRIDE=72
- cstarpu.dat: mult
- STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 ./mult $(STRIDE) > $@
- julia_generatedc.dat: mult.jl
- STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult.jl $(STRIDE) $@
- julia_native.dat: mult_native.jl
- STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult_native.jl $(STRIDE) $@
- julia_calllib.dat: ${EXTERNLIB} mult.jl
- JULIA_TASK_LIB="${EXTERNLIB}" STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult.jl $(STRIDE) julia_calllib.dat
- test: cstarpu.dat julia_generatedc.dat julia_native.dat julia_calllib.dat
|