Inlining + Reorganization + Roofline
This commit is contained in:
committed by
Linus Baumberger
parent
43f11a661b
commit
b86c856e08
@@ -47,12 +47,12 @@ CXXFLAGS := -O3 -march=native -std=c++23 -Wall -Wextra -flto
|
||||
|
||||
VARIANT ?= baseline
|
||||
|
||||
VARIANT_SRC := variant_$(VARIANT).cpp
|
||||
VARIANT_SRC := ./variants/variant_$(VARIANT).cpp
|
||||
|
||||
SRC := main.cpp $(VARIANT_SRC)
|
||||
HEADERS := board.hpp forces.hpp pedestrian.hpp vector2d.hpp constants.hpp social_force.hpp util.hpp
|
||||
HEADERS := ./headers/board.hpp ./headers/pedestrian.hpp ./headers/vector2d.hpp ./headers/constants.hpp ./headers/util.hpp
|
||||
|
||||
TEST_SRC := test_vector2d.cpp test_board.cpp test_forces.cpp $(VARIANT_SRC)
|
||||
TEST_SRC := ./tests/test_vector2d.cpp ./tests/test_board.cpp ./tests/test_forces.cpp $(VARIANT_SRC)
|
||||
TEST_TARGET := run_tests
|
||||
TEST_LIBS := -lgtest -lgtest_main -pthread
|
||||
|
||||
@@ -109,7 +109,7 @@ run: main
|
||||
# make verify VARIANT=v1_cutoff # check a specific variant
|
||||
verify: main
|
||||
./$(TARGET) $(REFERENCE_N_P) $(REFERENCE_N_ITER) $(VERIFY_CSV)
|
||||
@if python3 verify.py $(REFERENCE_CSV) $(VERIFY_CSV); then \
|
||||
@if python3 ./scripts/verify.py $(REFERENCE_CSV) $(VERIFY_CSV); then \
|
||||
echo "PASS: variant '$(VARIANT)' matches $(REFERENCE_CSV)"; \
|
||||
rm -f $(VERIFY_CSV); \
|
||||
else \
|
||||
@@ -139,7 +139,7 @@ bench-suite: bench
|
||||
|
||||
# make video : compile the code, run the simulation, and generate the video.
|
||||
video: run
|
||||
python visualization.py $(CSV) $(MP4)
|
||||
python ./scripts/visualization.py $(CSV) $(MP4)
|
||||
|
||||
# make sizes : compile the size-check helper.
|
||||
sizes: clean
|
||||
@@ -151,7 +151,17 @@ test: clean
|
||||
./$(TEST_TARGET)
|
||||
|
||||
# make asm : compile and generate assembly files.
|
||||
asm: clean main.s variant_$(VARIANT).s
|
||||
|
||||
ASM_CPP_SRCS := main.cpp $(VARIANT_SRC) sizes.cpp
|
||||
ASM_HPP_SRCS := ./headers/util.hpp
|
||||
ASM_SRCS := $(ASM_CPP_SRCS) $(ASM_HPP_SRCS)
|
||||
|
||||
ASM_TARGETS := $(patsubst %.cpp,%.s,$(patsubst %.hpp,%.s,$(ASM_SRCS)))
|
||||
|
||||
asm: clean
|
||||
$(foreach src,$(ASM_CPP_SRCS),$(CXX) -O3 -march=native -std=c++23 -Wall -Wextra -DRANDOM_SEED=$(RANDOM_SEED) -S $(src) -o $(src:.cpp=.s); )
|
||||
$(foreach src,$(ASM_HPP_SRCS),$(CXX) -O3 -march=native -std=c++23 -Wall -Wextra -DRANDOM_SEED=$(RANDOM_SEED) -x c++ -S $(src) -o $(src:.hpp=.s); )
|
||||
|
||||
|
||||
%.s: %.cpp $(HEADERS)
|
||||
$(CXX) -O3 -march=native -std=c++23 -Wall -Wextra -DRANDOM_SEED=$(RANDOM_SEED) -S $< -o $@
|
||||
|
||||
Reference in New Issue
Block a user