From e15b1d940f49be47d78af195bb450ee9ba1ffc8a Mon Sep 17 00:00:00 2001 From: JP Appel Date: Fri, 26 Apr 2024 01:04:45 -0400 Subject: add cuda-fractals compilation target --- makefile | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'makefile') diff --git a/makefile b/makefile index 01a2b8a..26aa1f6 100644 --- a/makefile +++ b/makefile @@ -1,13 +1,17 @@ CC := gcc -CPPFLAGS := -DEXTENDED_PRECISION -CFLAGS := -Wall +CPPFLAGS := #-DEXTENDED_PRECISION +CFLAGS := -Wall -O3 -march=native LDFLAGS := -lm +NVCC := nvcc +NVCFLAGS := -arch=sm_86 -O3 --compiler-options -march=native +NVLDFLAGS := $(LDFLAGS) + SRC_DIR := src BUILD_DIR := build OBJ_DIR := $(BUILD_DIR)/objects -TARGET := fractal-render serial-fractals shared-fractals +TARGET := fractal-render serial-fractals shared-fractals cuda-fractals SRCS := $(wildcard $(SRC_DIR)/*.c) OBJS := $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRCS)) @@ -20,18 +24,24 @@ all: $(addprefix $(BUILD_DIR)/, $(TARGET)) # Programs # ############## -$(BUILD_DIR)/fractal-render: $(OBJ_DIR)/fractal_render.o $(OBJ_DIR)/grids.o +$(BUILD_DIR)/fractal-render: $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractal_render.o $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) -$(BUILD_DIR)/serial-fractals: $(OBJ_DIR)/fractals.o $(OBJ_DIR)/serial-fractals.o $(OBJ_DIR)/grids.o +$(BUILD_DIR)/serial-fractals: $(OBJ_DIR)/serial-fractals.o $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractals.o $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) -$(BUILD_DIR)/shared-fractals: $(OBJ_DIR)/fractals.o $(OBJ_DIR)/shared-fractals.o $(OBJ_DIR)/grids.o +$(BUILD_DIR)/shared-fractals: $(OBJ_DIR)/shared-fractals.o $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractals.o $(CC) $(CFLAGS) -fopenmp $^ -o $@ $(LDFLAGS) -$(OBJ_DIR)/shared-fractals.o: $(SRC_DIR)/shared-fractals.c +$(BUILD_DIR)/cuda-fractals: $(OBJ_DIR)/cuda-fractals.o $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractals.o + $(NVCC) $(NVCFLAGS) $^ -o $@ $(NVLDFLAGS) + +$(OBJ_DIR)/shared-fractals.o: $(SRC_DIR)/shared-fractals.c | $(OBJ_DIR) $(CC) $(CPPFLAGS) $(CFLAGS) -fopenmp -c -o $@ $< +$(OBJ_DIR)/cuda-fractals.o: $(SRC_DIR)/cuda-fractals.cu | $(OBJ_DIR) + $(NVCC) $(CPPFLAGS) $(NVCFLAGS) -c -o $@ $< + $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR) $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -- cgit v1.2.3