IcBench: Makefile
This commit is contained in:
68
makefile
Normal file → Executable file
68
makefile
Normal file → Executable file
@ -1,9 +1,15 @@
|
|||||||
# powturbo (c) Copyright 2013-2018
|
# powturbo (c) Copyright 2013-2018
|
||||||
# ----------- Downloading + Compiling ----------------------
|
# ----------- Downloading + Compiling ----------------------
|
||||||
# git clone --recursive git://github.com/powturbo/TurboPFor.git
|
# Download or clone TurboPFor:
|
||||||
|
# git clone git://github.com/powturbo/TurboPFor.git
|
||||||
# make
|
# make
|
||||||
#
|
#
|
||||||
# Minimum make: "make NCODEC1=1 NCODEC2=1 NTRANFORM=1" to compile only TurboPFor
|
# To compile icapp with LZ4 and BITSHUFFLE. (lz4+Bitshuffle muss be in directory ext)
|
||||||
|
# make icapp LZ4=1 or make LZ4=1 BITSHUFFLE=1
|
||||||
|
#
|
||||||
|
# To benchmark external libraries also:
|
||||||
|
# git clone --recursive git://github.com/powturbo/TurboPFor.git
|
||||||
|
# make: "make CODEC1=1 CODEC2=1"
|
||||||
|
|
||||||
# Linux: "export CC=clang" "export CXX=clang". windows mingw: "set CC=gcc" "set CXX=g++" or uncomment the CC,CXX lines
|
# Linux: "export CC=clang" "export CXX=clang". windows mingw: "set CC=gcc" "set CXX=g++" or uncomment the CC,CXX lines
|
||||||
CC ?= gcc
|
CC ?= gcc
|
||||||
@ -26,10 +32,7 @@ MARCH=-march=native
|
|||||||
|
|
||||||
ifeq ($(NSIMD),1)
|
ifeq ($(NSIMD),1)
|
||||||
DEFS+=-DNSIMD
|
DEFS+=-DNSIMD
|
||||||
NCODEC1=1
|
|
||||||
NCODEC2=1
|
|
||||||
else
|
else
|
||||||
NSIMD=0
|
|
||||||
CFLAGS+=-DUSE_SSE -mssse3
|
CFLAGS+=-DUSE_SSE -mssse3
|
||||||
CXXFLAGS+=-DUSE_SSE
|
CXXFLAGS+=-DUSE_SSE
|
||||||
endif
|
endif
|
||||||
@ -71,22 +74,13 @@ endif
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
#---------------------- make args --------------------------
|
#---------------------- make args --------------------------
|
||||||
ifeq ($(NCODEC1),1)
|
ifeq ($(CODEC1),1)
|
||||||
DEFS+=-DNCODEC1
|
DEFS+=-DCODEC1=1
|
||||||
else
|
CFLAGS+=-Iext/lz4/lib -Iext/simdcomp/include -Iext/MaskedVByte/include -Iext/LittleIntPacker/include -Iext/streamvbyte/include
|
||||||
NCODEC1=0
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(NCODEC2),1)
|
ifeq ($(CODEC2),1)
|
||||||
DEFS+=-DNCODEC2
|
DEFS+=-DCODEC2=1
|
||||||
else
|
|
||||||
NCODEC2=0
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(NTRANFORM),1)
|
|
||||||
DEFS+=-DNTRANSFORM
|
|
||||||
else
|
|
||||||
NTRANSFORM=0
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(BLOSC),1)
|
ifeq ($(BLOSC),1)
|
||||||
@ -99,7 +93,15 @@ else
|
|||||||
CXXFLAGS+=-std=gnu++0x
|
CXXFLAGS+=-std=gnu++0x
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS+=$(DDEBUG) -w -Wall -std=gnu99 -DUSE_THREADS -fstrict-aliasing -Iext -Iext/lz4/lib -Iext/simdcomp/include -Iext/MaskedVByte/include -Iext/LittleIntPacker/include -Iext/streamvbyte/include $(DEFS)
|
ifeq ($(LZ4),1)
|
||||||
|
CFLAGS+=-DLZ4 -Ilz4/lib
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BITSHUFFLE),1)
|
||||||
|
CFLAGS+=-DBITSHUFFLE -Iext/bitshuffle/lz4
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFLAGS+=$(DDEBUG) -w -Wall -std=gnu99 -DUSE_THREADS -fstrict-aliasing -Iext $(DEFS)
|
||||||
CXXFLAGS+=$(DDEBUG) -w -fpermissive -Wall -fno-rtti -Iext/FastPFor/headers $(DEFS)
|
CXXFLAGS+=$(DDEBUG) -w -fpermissive -Wall -fno-rtti -Iext/FastPFor/headers $(DEFS)
|
||||||
|
|
||||||
all: icbench idxcr idxqry idxseg icapp
|
all: icbench idxcr idxqry idxseg icapp
|
||||||
@ -175,7 +177,7 @@ varintg8iu.o: ext/varintg8iu.c ext/varintg8iu.h
|
|||||||
$(CC) -O2 $(CFLAGS) $(MARCH) -c -std=c99 ext/varintg8iu.c
|
$(CC) -O2 $(CFLAGS) $(MARCH) -c -std=c99 ext/varintg8iu.c
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
ifeq ($(NCODEC1), 0)
|
ifeq ($(CODEC1), 1)
|
||||||
OB+=ext/streamvbyte/src/streamvbyte.o ext/streamvbyte/src/streamvbytedelta.o
|
OB+=ext/streamvbyte/src/streamvbyte.o ext/streamvbyte/src/streamvbytedelta.o
|
||||||
OB+=ext/MaskedVByte/src/varintencode.o ext/MaskedVByte/src/varintdecode.o
|
OB+=ext/MaskedVByte/src/varintencode.o ext/MaskedVByte/src/varintdecode.o
|
||||||
OB+=ext/simdcomp/src/simdintegratedbitpacking.o ext/simdcomp/src/simdcomputil.o ext/simdcomp/src/simdbitpacking.o ext/simdcomp/src/simdpackedselect.o
|
OB+=ext/simdcomp/src/simdintegratedbitpacking.o ext/simdcomp/src/simdcomputil.o ext/simdcomp/src/simdbitpacking.o ext/simdcomp/src/simdpackedselect.o
|
||||||
@ -196,10 +198,13 @@ OB+=ext/JASSv2/source/compress_integer_qmx_improved.o ext/JASSv2/source/asserts.
|
|||||||
endif
|
endif
|
||||||
OB+=ext/varintg8iu.o
|
OB+=ext/varintg8iu.o
|
||||||
OB+=ext/rc.o
|
OB+=ext/rc.o
|
||||||
|
OB+=ext/lz4/lib/lz4hc.o ext/lz4/lib/lz4.o
|
||||||
|
LZ4=1
|
||||||
|
BITSHUFFLE=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#----------------------------------------
|
#----------------------------------------
|
||||||
ifeq ($(NCODEC2), 0)
|
ifeq ($(CODEC2), 1)
|
||||||
ext/polycom/optpfd.o: ext/polycom/optpfd.c
|
ext/polycom/optpfd.o: ext/polycom/optpfd.c
|
||||||
$(CC) -O2 $(MARCH) $(CFLAGS) $< -c -o $@
|
$(CC) -O2 $(MARCH) $(CFLAGS) $< -c -o $@
|
||||||
|
|
||||||
@ -221,8 +226,6 @@ else
|
|||||||
#OB+=$(ZD)adler32.o $(ZD)crc32.o $(ZD)compress.o $(ZD)deflate.o $(ZD)infback.o $(ZD)inffast.o $(ZD)inflate.o $(ZD)inftrees.o $(ZD)trees.o $(ZD)uncompr.o $(ZD)zutil.o
|
#OB+=$(ZD)adler32.o $(ZD)crc32.o $(ZD)compress.o $(ZD)deflate.o $(ZD)infback.o $(ZD)inffast.o $(ZD)inflate.o $(ZD)inftrees.o $(ZD)trees.o $(ZD)uncompr.o $(ZD)zutil.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OB+=ext/lz4/lib/lz4hc.o ext/lz4/lib/lz4.o
|
|
||||||
|
|
||||||
ifeq ($(BLOSC),1)
|
ifeq ($(BLOSC),1)
|
||||||
LDFLAGS+=-lpthread
|
LDFLAGS+=-lpthread
|
||||||
#ext/c-blosc/blosc/libblosc.a
|
#ext/c-blosc/blosc/libblosc.a
|
||||||
@ -250,17 +253,28 @@ DEFS+=-DLZTURBO
|
|||||||
OB+=../dev/lz/lz8c.o ../dev/lz/lzbc.o
|
OB+=../dev/lz/lz8c.o ../dev/lz/lzbc.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
OB+=eliasfano.o vsimple.o $(TRANSP) transpose.o transpose_sse.o
|
OB+=eliasfano.o vsimple.o $(TRANSP) transpose.o transpose_sse.o
|
||||||
ifeq ($(AVX2),1)
|
ifeq ($(AVX2),1)
|
||||||
OB+=transpose_avx2.o
|
OB+=transpose_avx2.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
#------------------------
|
#------------------------
|
||||||
ICLIB=bitpack.o bitpack_sse.o bitunpack.o bitunpack_sse.o vp4c.o vp4c_sse.o vp4d.o vp4d_sse.o bitutil.o fp.o vint.o vsimple.o
|
ICLIB=bitpack.o bitpack_sse.o bitunpack.o bitunpack_sse.o vp4c.o vp4c_sse.o vp4d.o vp4d_sse.o bitutil.o fp.o vint.o vsimple.o transpose.o transpose_sse.o ext/trlec.o ext/trled.o
|
||||||
|
|
||||||
|
ifeq ($(LZ4),1)
|
||||||
|
ICLIB+=ext/lz4/lib/lz4hc.o ext/lz4/lib/lz4.o
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(BITSHUFFLE),1)
|
||||||
|
ICLIB+=ext/bitshuffle/src/bitshuffle.o ext/bitshuffle/src/iochain.o ext/bitshuffle/src/bitshuffle_core.o
|
||||||
|
ifeq ($(LZ4),1)
|
||||||
|
else
|
||||||
|
ICLIB+=ext/bitshuffle/lz4/lz4.o
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(AVX2),1)
|
ifeq ($(AVX2),1)
|
||||||
ICLIB+=bitpack_avx2.o bitunpack_avx2.o vp4c_avx2.o vp4d_avx2.o
|
ICLIB+=bitpack_avx2.o bitunpack_avx2.o vp4c_avx2.o vp4d_avx2.o transpose_avx2.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(SIMDH),1)
|
ifeq ($(SIMDH),1)
|
||||||
|
Reference in New Issue
Block a user