@@ -19,19 +19,33 @@ LIB=cuda-crypt
19
19
CL_ECC_TEST_BIN =cl_ed25519_verify
20
20
CL_LIB =cl-crypt
21
21
22
+ CHACHA_IF_DIR: =crypt-if
23
+
22
24
CL_HEADER_DIR: =opencl-platform
23
25
24
26
CUDA_HEADER_DIR: =cuda-headers
25
27
CUDA_SHA256_DIR: =cuda-sha256
26
28
29
+ CUDA_DIR ?= /usr/local/cuda
30
+
27
31
CXX ?= g++
28
- CFLAGS+ =-DENDIAN_NEUTRAL -DLTC_NO_ASM -I$(CUDA_HEADER_DIR ) -I$(CUDA_SHA256_DIR )
29
- # use -DUSE_RDTSC for Windows compilation
30
- CL_CFLAGS =-fPIC -std=c++11 -DENDIAN_NEUTRAL -DOPENCL_VARIANT -DLTC_NO_ASM -I$(CUDA_HEADER_DIR ) -I$(CUDA_SHA256_DIR ) -I$(CL_HEADER_DIR ) -Icommon/
31
32
32
- CUDA_PATH ?= /usr/local/cuda-9.1
33
+ CFLAGS_COMMON: =-DENDIAN_NEUTRAL -DLTC_NO_ASM -I$(CHACHA_IF_DIR )
34
+ CFLAGS+ =$(CFLAGS_COMMON ) -I$(CUDA_HEADER_DIR ) -I$(CUDA_SHA256_DIR )
33
35
34
- all : $V/$(CHACHA_TEST_BIN ) $V/$(ECC_TEST_BIN ) $(V ) /lib$(LIB ) .so
36
+ # use -DUSE_RDTSC for Windows compilation
37
+ CL_CFLAGS_common: =-fPIC -std=c++11 $(CFLAGS_COMMON ) -DOPENCL_VARIANT \
38
+ -I$(CL_HEADER_DIR ) -Icommon/ \
39
+ -I$(CUDA_DIR ) /targets/x86_64-linux/include $(HOST_CFLAGS )
40
+ CL_CFLAGS_release: =$(CL_CFLAGS_common ) -O3
41
+ CL_CFLAGS_debug: =$(CL_CFLAGS_common ) -O0 -g
42
+ CL_CFLAGS: =$(CL_CFLAGS_$V )
43
+
44
+ all : $(V ) /$(CHACHA_TEST_BIN ) \
45
+ $(V)/$(ECC_TEST_BIN) \
46
+ $(V)/$(CL_ECC_TEST_BIN) \
47
+ $(V)/lib$(LIB).so \
48
+ $(V)/lib$(CL_LIB).so
35
49
36
50
ECC_DIR: =cuda-ecc-ed25519
37
51
@@ -45,7 +59,7 @@ $V/seed.o: $(SEED_SRCS)
45
59
@mkdir -p $(@D )
46
60
$(NVCC ) -rdc=true $(CFLAGS ) -c $< -o $@
47
61
48
- SIGN_SRCS: =$(addprefix $(ECC_DIR ) /,sign.cu sha512.h ge.h sc.h fe.cu ../$( CUDA_HEADER_DIR ) /gpu_common.h ed25519.h)
62
+ SIGN_SRCS: =$(addprefix $(ECC_DIR ) /,sign.cu sha512.h ge.h sc.h fe.cu ../common /gpu_common.h ed25519.h)
49
63
$V/sign.o : $(SIGN_SRCS )
50
64
@mkdir -p $(@D )
51
65
$(NVCC ) -rdc=true $(CFLAGS ) -c $< -o $@
@@ -60,6 +74,18 @@ $V/gpu_ctx.o: $(addprefix $(ECC_DIR)/,gpu_ctx.cu gpu_ctx.h)
60
74
$(NVCC ) -rdc=true $(CFLAGS ) -c $< -o $@
61
75
62
76
CL_ECC_DIR: =opencl-ecc-ed25519
77
+ CL_CRYPT_DIR: =opencl-crypt
78
+ CL_POH_VERIFY_DIR: =opencl-poh-verify
79
+
80
+ CL_POH_VERIFY_SRCS: =$(CL_POH_VERIFY_DIR ) /cl_poh_verify.cpp
81
+ $V/cl_poh_verify.o : $(CL_POH_VERIFY_SRCS )
82
+ @mkdir -p $(@D )
83
+ $(CXX ) $(CL_CFLAGS ) -I$(ECC_DIR ) -c $< -o $@
84
+
85
+ CL_CHACHA_SRCS: =$(CL_CRYPT_DIR ) /cl_chacha.cpp
86
+ $V/cl_chacha.o : $(CL_CHACHA_SRCS )
87
+ @mkdir -p $(@D )
88
+ $(CXX ) $(CL_CFLAGS ) -I$(ECC_DIR ) -c $< -o $@
63
89
64
90
CL_SIGN_SRCS: =$(CL_ECC_DIR ) /sign.cpp $(ECC_DIR ) /fe.cu $(ECC_DIR ) /ed25519.h
65
91
$V/cl_sign.o : $(CL_SIGN_SRCS )
@@ -76,7 +102,7 @@ $V/cl_gpu_ctx.o: $(addprefix $(CL_ECC_DIR)/,gpu_ctx.cpp gpu_ctx.h)
76
102
$(CXX ) $(CL_CFLAGS ) -I$(ECC_DIR ) -c $< -o $@
77
103
78
104
CHACHA_DIR: =cuda-crypt
79
- CHACHA_SRCS: =$(addprefix $(CHACHA_DIR ) /,chacha_cbc.cu chacha.h common.cu)
105
+ CHACHA_SRCS: =$(addprefix $(CHACHA_DIR ) /,chacha_cbc.cu common.cu) $( CHACHA_IF_DIR ) /chacha.h
80
106
81
107
$V/chacha_cbc.o : $(CHACHA_SRCS )
82
108
@mkdir -p $(@D )
@@ -99,23 +125,17 @@ $V/poh_verify.o: $(POH_SRCS)
99
125
@mkdir -p $(@D )
100
126
$(NVCC ) -rdc=true $(CFLAGS ) -c $< -o $@
101
127
102
- CL_CPU_GPU_OBJS =$(addprefix $V/,cl_init_platform.o cl_verify.o cl_gpu_ctx.o cl_sign.o)
128
+ CL_CPU_GPU_OBJS =$(addprefix $V/,cl_init_platform.o cl_verify.o cl_gpu_ctx.o cl_sign.o cl_chacha.o cl_poh_verify.o )
103
129
104
- $V/cl_crypt-dlink.o : $(CL_CPU_GPU_OBJS )
105
- ar rvs $@ $^
106
-
107
- $V/lib$(CL_LIB ) .a : $V/cl_crypt-dlink.o $(CL_CPU_GPU_OBJS )
108
- ar rcs $@ $^
109
-
110
- $V/lib$(CL_LIB ) .so : $V/cl_crypt-dlink.o $(CL_CPU_GPU_OBJS )
111
- $(CXX ) -shared --shared $^ -o $@
130
+ $V/lib$(CL_LIB ) .so : $(CL_CPU_GPU_OBJS )
131
+ $(CXX ) -shared $^ -lOpenCL -o $@
112
132
113
133
$V/cl_ecc_main.o : $(CL_ECC_DIR ) /main.cpp $(ECC_DIR ) /ed25519.h
114
134
@mkdir -p $(@D )
115
- $(CXX ) $(CL_CFLAGS ) -I$(ECC_DIR ) -c $< -o $@
135
+ $(CXX ) $(CL_CFLAGS ) -pthread - I$(ECC_DIR ) -c $< -o $@
116
136
117
137
$V/$(CL_ECC_TEST_BIN ) : $V/cl_ecc_main.o $V/lib$(CL_LIB ) .so
118
- $(CXX ) $(CL_CFLAGS ) -Wl,-v - L$(CUDA_PATH ) /lib64 -L$V -lpthread $^ -lOpenCL -o $@
138
+ $(CXX ) $(CL_CFLAGS ) -L$(CUDA_DIR ) /lib64 -L$V -pthread $< -l $( CL_LIB ) -lOpenCL -o $@
119
139
120
140
CPU_GPU_OBJS =$(addprefix $V/,chacha_cbc.o aes_cbc.o verify.o poh_verify.o gpu_ctx.o sign.o seed.o keypair.o)
121
141
0 commit comments