Makefile (660B)
1 CXX = g++ 2 CXXFLAGS = -g -Wall -Wextra -Wpedantic -I$(SHARED_DATA)/local/include -L$(SHARED_DATA)/local/lib 3 LIBS = -lpapi 4 5 # CXXFLAGS += -DCBLAS 6 # LIBS += -lopenblas 7 # CXXFLAGS += -DEIGEN -march=broadwell 8 9 .PHONY: clean 10 11 all: dgemm_O0 dgemm_O1 dgemm_O2 dgemm_O3_autovec dgemm_O3_noautovec 12 13 dgemm_O0: dgemm.cpp 14 $(CXX) -O0 $(CXXFLAGS) -o $@ $< $(LIBS) 15 16 dgemm_O1: dgemm.cpp 17 $(CXX) -O1 $(CXXFLAGS) -o $@ $< $(LIBS) 18 19 dgemm_O2: dgemm.cpp 20 $(CXX) -O2 $(CXXFLAGS) -o $@ $< $(LIBS) 21 22 dgemm_O3_autovec: dgemm.cpp 23 $(CXX) -O3 $(CXXFLAGS) -o $@ $< $(LIBS) 24 25 dgemm_O3_noautovec: dgemm.cpp 26 $(CXX) -O3 -fno-tree-vectorize $(CXXFLAGS) -o $@ $< $(LIBS) 27 28 clean: 29 rm -f dgemm_O*