Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Makefile - github.com/marian-nmt/intgemm/intgemm.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
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