Files
TDT4200/exercise7/Makefile
2025-11-03 12:36:22 +01:00

46 lines
1.6 KiB
Makefile

CC=gcc
PARALLEL_CC=nvcc
CFLAGS+= -std=c99 -O2 -Wall -Wextra
LDLIBS+= -lm
SEQUENTIAL_SRC_FILES=wave_2d_sequential.c
PARALLEL_SRC_FILES=wave_2d_parallel.cu
IMAGES=$(shell find data -type f | sed s/\\.dat/.png/g | sed s/data/images/g )
USERNAME=frero
REMOTE=snotra.idi.ntnu.no
BASTION=login.stud.ntnu.no
.PHONY: all clean dirs plot movie diff compare show check data
all: dirs ${TARGETS}
dirs:
mkdir -p data images
sequential: ${SEQUENTIAL_SRC_FILES}
$(CC) $^ $(CFLAGS) -o $@ $(LDLIBS)
parallel: ${PARALLEL_SRC_FILES}
$(PARALLEL_CC) $^ -O2 -fmad=false -o $@ $(LDLIBS)
plot: ${IMAGES}
images/%.png: data/%.dat
./plot_image.sh $<
movie: ${IMAGES}
ffmpeg -y -an -i images/%5d.png -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -level 3 -r 12 wave.mp4
data_sequential: dirs sequential
mkdir -p data_sequential
./sequential
cp -rf ./data/* ./data_sequential
data: dirs data_sequential parallel
./parallel
compare/%: data
python3 compare.py data_sequential/$(shell printf "%05d" $*).dat data/$(shell printf "%05d" $*).dat
diff/%: data
python3 plot_differences.py data_sequential/$(shell printf "%05d" $*).dat data/$(shell printf "%05d" $*).dat
show/%: diff/%
feh difference_plot.png
check: compare/0 compare/75
clean:
-rm -fr sequential parallel data images wave.mp4
rm -rf data_sequential
remote_stop:
@ssh -J $(USERNAME)@$(BASTION) $(USERNAME)@$(REMOTE) "stop-jobs -f" || true
remote_copy_src:
@scp -J $(USERNAME)@$(BASTION) $(PARALLEL_SRC_FILES) $(USERNAME)@$(REMOTE):~/ntnuhome/jobs
remote_run: remote_stop remote_copy_src
@ssh -J $(USERNAME)@$(BASTION) $(USERNAME)@$(REMOTE) 'cd ntnuhome/jobs/ && ./connect.sh "make"'