Makefile.old 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # ICC compiler
  2. #CC =icc
  3. #CFLAGS=-restrict -unroll4 -ipo -falign-loops=256 -O3 -march=native $(shell pkg-config --cflags starpu-1.3)
  4. # GCC compiler
  5. CC=gcc
  6. NVCC=nvcc
  7. ENABLE_CUDA=no
  8. LD=$(CC)
  9. ifeq ($(ENABLE_CUDA),yes)
  10. LD := ${NVCC}
  11. endif
  12. CFLAGS = -O3 -g $(shell pkg-config --cflags starpu-1.3)
  13. CPU_CFLAGS = ${CFLAGS} -Wall -mavx -fomit-frame-pointer -march=native -ffast-math
  14. CUDA_CFLAGS = ${CFLAGS}
  15. LDFLAGS +=$(shell pkg-config --libs starpu-1.3)
  16. EXTERNLIB=extern_tasks.so
  17. GENERATEDLIB=generated_tasks.so
  18. C_OBJECTS=$(patsubst %.c,%.o,$(wildcard gen*.c))
  19. CUDA_OBJECTS=$(patsubst %.cu,%.o,$(wildcard gen*.cu))
  20. ifneq ($(ENABLE_CUDA),yes)
  21. CUDA_OBJECTS:=
  22. endif
  23. all: ${EXTERNLIB}
  24. mult: mult.c cpu_mult.o #gpu_mult.o
  25. $(CC) $(CPU_CFLAGS) $^ -o $@ $(LDFLAGS)
  26. %.o: %.c
  27. $(CC) -c -fPIC $(CPU_CFLAGS) $^ -o $@
  28. %.o: %.cu
  29. $(NVCC) -dc $(CUDA_CFLAGS) $^ --shared --compiler-options '-fPIC' -o $@ $(LDFLAGS)
  30. ${EXTERNLIB}: cpu_mult.c
  31. $(CC) $(CFLAGS) -shared -fPIC $(LDFLAGS) $^ -o $@
  32. ${GENERATEDLIB}: $(C_OBJECTS) $(CUDA_OBJECTS)
  33. $(LD) -shared $(LDFLAGS) $^ -o $@
  34. .PHONY: clean
  35. clean:
  36. rm -f mult *.so *.o genc_*.c gencuda_*.cu *.dat
  37. tjulia: julia_generatedc.dat
  38. # Performance Tests
  39. STRIDE=72
  40. cstarpu.dat: mult
  41. STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 ./mult $(STRIDE) > $@
  42. julia_generatedc.dat: mult.jl
  43. STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult.jl $(STRIDE) $@
  44. julia_native.dat: mult_native.jl
  45. STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult_native.jl $(STRIDE) $@
  46. julia_calllib.dat: ${EXTERNLIB} mult.jl
  47. JULIA_TASK_LIB="${EXTERNLIB}" STARPU_NOPENCL=0 STARPU_SCHED=dmda STARPU_CALIBRATE=1 julia mult.jl $(STRIDE) julia_calllib.dat
  48. test: cstarpu.dat julia_generatedc.dat julia_native.dat julia_calllib.dat