Makefile.old 1.6 KB

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