blob: f056c127da87745cf08039a6843b8777dc22addb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
CXX := g++
CXXFLAGS := -Wall -Werror -fPIC -O3 -march=native
SRC := avx512_gemm.cc avx2_gemm.cc sse2_gemm.cc SSE_Matrix_Mult.cc StopWatch.cc
OBJ := ${SRC:.cc=.o}
all: Test QuantizeTest Benchmark
avx512_gemm.o: avx512_gemm.h avx512_gemm.cc
${CXX} ${CXXFLAGS} -c -mavx512bw -mavx512vl avx512_gemm.cc -o avx512_gemm.o
sse2_gemm.o: multiply.h interleave.h sse2_gemm.cc sse2_gemm.h
${CXX} ${CXXFLAGS} -c sse2_gemm.cc -o sse2_gemm.o
Test: ${OBJ} Test.o
${CXX} ${CXXFLAGS} ${OBJ} Test.o -o Test
Benchmark: ${OBJ} Benchmark.o
${CXX} ${CXXFLAGS} ${OBJ} Benchmark.o -o Benchmark
QuantizeTest: QuantizeTest.o StopWatch.o avx512_gemm.o avx2_gemm.o sse2_gemm.o
${CXX} ${CXXFLAGS} QuantizeTest.o avx512_gemm.o avx2_gemm.o sse2_gemm.o -o QuantizeTest
.c.o: interleave.h multiply.h
${CXX} ${CXXFLAGS} -c $<
clean:
rm -f ${OBJ} QuantizeTest Test Test.o QuantizeTest.o Benchmark.o
|