Skip to content
This repository was archived by the owner on Jan 13, 2025. It is now read-only.

Commit cda1f2a

Browse files
committed
Remove chacha implementation
Archivers are on hold for now.
1 parent 6011e8a commit cda1f2a

15 files changed

+8
-3059
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ $ make -j$(nproc)
1313
```
1414

1515
This should generate the libraries:
16-
* libcuda-crypt.so - ed25519 verify (used by leaders) and chacha (used by validators) cuda implementations
16+
* libcuda-crypt.so - ed25519 verify and poh verify cuda implementations
17+
* libcl-crypt.so - ed25519 verify and poh verify OpenCL implementations
1718

1819
Copy libraries to the main Solana repo:
1920
```bash

src/Makefile

+6-32
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,18 @@
66
# so more than one .so cannot be linked into a single program.
77
# Shared objects with device kernels also did not seem to work--
88
# it can build, but the kernel launch is not successful. (with cuda 9.2)
9-
# Hence, build ed25519 ecdsa verify and chacha encryption device
9+
# Hence, build ed25519 ecdsa verify and poh verify device
1010
# code into a single binary.
1111

1212
V=debug
1313
include gpu-common.mk
1414

15-
CHACHA_TEST_BIN=cuda_chacha_test
1615
ECC_TEST_BIN=cuda_ed25519_verify
1716
LIB=cuda-crypt
1817

1918
CL_ECC_TEST_BIN=cl_ed25519_verify
2019
CL_LIB=cl-crypt
2120

22-
CHACHA_IF_DIR:=crypt-if
23-
2421
CL_HEADER_DIR:=opencl-platform
2522

2623
CUDA_HEADER_DIR:=cuda-headers
@@ -30,7 +27,7 @@ CUDA_DIR ?= /usr/local/cuda
3027

3128
CXX ?= g++
3229

33-
CFLAGS_COMMON:=-DENDIAN_NEUTRAL -DLTC_NO_ASM -I$(CHACHA_IF_DIR)
30+
CFLAGS_COMMON:=-DENDIAN_NEUTRAL -DLTC_NO_ASM
3431
CFLAGS+=$(CFLAGS_COMMON) -I$(CUDA_HEADER_DIR) -I$(CUDA_SHA256_DIR)
3532

3633
#use -DUSE_RDTSC for Windows compilation
@@ -41,8 +38,7 @@ CL_CFLAGS_release:=$(CL_CFLAGS_common) -O3
4138
CL_CFLAGS_debug:=$(CL_CFLAGS_common) -O0 -g
4239
CL_CFLAGS:=$(CL_CFLAGS_$V)
4340

44-
all: $(V)/$(CHACHA_TEST_BIN) \
45-
$(V)/$(ECC_TEST_BIN) \
41+
all: $(V)/$(ECC_TEST_BIN) \
4642
$(V)/$(CL_ECC_TEST_BIN) \
4743
$(V)/lib$(LIB).so \
4844
$(V)/lib$(CL_LIB).so
@@ -82,11 +78,6 @@ $V/cl_poh_verify.o: $(CL_POH_VERIFY_SRCS)
8278
@mkdir -p $(@D)
8379
$(CXX) $(CL_CFLAGS) -I$(ECC_DIR) -c $< -o $@
8480

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 $@
89-
9081
CL_SIGN_SRCS:=$(CL_ECC_DIR)/sign.cpp $(ECC_DIR)/fe.cu $(ECC_DIR)/ed25519.h
9182
$V/cl_sign.o: $(CL_SIGN_SRCS)
9283
@mkdir -p $(@D)
@@ -101,31 +92,18 @@ $V/cl_gpu_ctx.o: $(addprefix $(CL_ECC_DIR)/,gpu_ctx.cpp gpu_ctx.h)
10192
@mkdir -p $(@D)
10293
$(CXX) $(CL_CFLAGS) -I$(ECC_DIR) -c $< -o $@
10394

104-
CHACHA_DIR:=cuda-crypt
105-
CHACHA_SRCS:=$(addprefix $(CHACHA_DIR)/,chacha_cbc.cu common.cu) $(CHACHA_IF_DIR)/chacha.h
106-
107-
$V/chacha_cbc.o: $(CHACHA_SRCS)
108-
@mkdir -p $(@D)
109-
$(NVCC) -rdc=true $(CFLAGS) -c $< -o $@
110-
11195
$V/cl_init_platform.o: opencl-platform/cl_init_platform.cpp
11296
@mkdir -p $(@D)
11397
$(CXX) $(CL_CFLAGS) -c $< -o $@
11498

115-
AES_SRCS:=$(addprefix $(CHACHA_DIR)/,aes_cbc.cu aes_core.cu modes_lcl.h common.cu)
116-
117-
$V/aes_cbc.o: $(AES_SRCS)
118-
@mkdir -p $(@D)
119-
$(NVCC) -rdc=true $(CFLAGS) -c $< -o $@
120-
12199
POH_DIR:=cuda-poh-verify
122100
POH_SRCS:=$(addprefix $(POH_DIR)/,poh_verify.cu)
123101

124102
$V/poh_verify.o: $(POH_SRCS)
125103
@mkdir -p $(@D)
126104
$(NVCC) -rdc=true $(CFLAGS) -c $< -o $@
127105

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)
106+
CL_CPU_GPU_OBJS=$(addprefix $V/,cl_init_platform.o cl_verify.o cl_gpu_ctx.o cl_sign.o cl_poh_verify.o)
129107

130108
$V/lib$(CL_LIB).so: $(CL_CPU_GPU_OBJS)
131109
$(CXX) -shared $^ -L$(CUDA_DIR)/lib64 -lOpenCL -o $@
@@ -137,17 +115,14 @@ $V/cl_ecc_main.o: $(CL_ECC_DIR)/main.cpp $(ECC_DIR)/ed25519.h
137115
$V/$(CL_ECC_TEST_BIN): $V/cl_ecc_main.o $V/lib$(CL_LIB).so
138116
$(CXX) $(CL_CFLAGS) -L$(CUDA_DIR)/lib64 -L$V -pthread $< -l$(CL_LIB) -lOpenCL -o $@
139117

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)
118+
CPU_GPU_OBJS=$(addprefix $V/,verify.o poh_verify.o gpu_ctx.o sign.o seed.o keypair.o)
141119

142120
$V/crypt-dlink.o: $(CPU_GPU_OBJS)
143121
$(NVCC) -Xcompiler "-fPIC" $(CFLAGS) --device-link $^ --output-file $@
144122

145123
$V/lib$(LIB).so: $V/crypt-dlink.o $(CPU_GPU_OBJS)
146124
$(NVCC) -Xcompiler "-fPIC" --shared --output-file $@ $^
147125

148-
$V/$(CHACHA_TEST_BIN): $(CHACHA_DIR)/test.cu $V/lib$(LIB).so
149-
$(NVCC) $(CFLAGS) -L$V -l$(LIB) $< -o $@
150-
151126
$V/ecc_main.o: $(addprefix $(ECC_DIR)/,main.cu ed25519.h)
152127
@mkdir -p $(@D)
153128
$(NVCC) -rdc=true $(CFLAGS) -c $< -o $@
@@ -159,8 +134,7 @@ $V/$(ECC_TEST_BIN): $V/ecc_main.o $V/lib$(LIB).so
159134
clean:
160135
rm -rf $V
161136

162-
test: $V/$(ECC_TEST_BIN) $V/$(CHACHA_TEST_BIN)
163-
cd $(V) && ./$(CHACHA_TEST_BIN) 64 \
137+
test: $V/$(ECC_TEST_BIN)
164138
cd $(V) && ./$(ECC_TEST_BIN) 1 1 1 1 1 1
165139
cd $(V) && ./$(ECC_TEST_BIN) 64 1 1 1 1 0
166140
cd $(V) && ./$(ECC_TEST_BIN) 100201 1 1 4 10 1

src/crypt-if/chacha.h

-44
This file was deleted.

src/cuda-crypt/aes.h

-98
This file was deleted.

0 commit comments

Comments
 (0)