sp1_gpu_cudart/
tracegen.rs1use sp1_gpu_sys::runtime::KernelPtr;
2use sp1_primitives::SP1Field;
3
4use crate::TaskScope;
5
6pub unsafe trait TracegenRiscvGlobalKernel<F> {
8 fn tracegen_riscv_global_decompress_kernel() -> KernelPtr;
9 fn tracegen_riscv_global_finalize_kernel() -> KernelPtr;
10}
11
12unsafe impl TracegenRiscvGlobalKernel<SP1Field> for TaskScope {
13 fn tracegen_riscv_global_decompress_kernel() -> KernelPtr {
14 unsafe { sp1_gpu_sys::tracegen::riscv_global_generate_trace_decompress_kernel() }
15 }
16 fn tracegen_riscv_global_finalize_kernel() -> KernelPtr {
17 unsafe { sp1_gpu_sys::tracegen::riscv_global_generate_trace_finalize_kernel() }
18 }
19}
20
21pub unsafe trait TracegenPreprocessedRecursionBaseAluKernel<F> {
23 fn tracegen_preprocessed_recursion_base_alu_kernel() -> KernelPtr;
24}
25
26unsafe impl TracegenPreprocessedRecursionBaseAluKernel<SP1Field> for TaskScope {
27 fn tracegen_preprocessed_recursion_base_alu_kernel() -> KernelPtr {
28 unsafe {
29 sp1_gpu_sys::tracegen::recursion_base_alu_generate_preprocessed_trace_koala_bear_kernel(
30 )
31 }
32 }
33}
34
35pub unsafe trait TracegenRecursionBaseAluKernel<F> {
37 fn tracegen_recursion_base_alu_kernel() -> KernelPtr;
38}
39
40unsafe impl TracegenRecursionBaseAluKernel<SP1Field> for TaskScope {
41 fn tracegen_recursion_base_alu_kernel() -> KernelPtr {
42 unsafe { sp1_gpu_sys::tracegen::recursion_base_alu_generate_trace_koala_bear_kernel() }
43 }
44}
45
46pub unsafe trait TracegenPreprocessedRecursionExtAluKernel<F> {
48 fn tracegen_preprocessed_recursion_ext_alu_kernel() -> KernelPtr;
49}
50
51unsafe impl TracegenPreprocessedRecursionExtAluKernel<SP1Field> for TaskScope {
52 fn tracegen_preprocessed_recursion_ext_alu_kernel() -> KernelPtr {
53 unsafe {
54 sp1_gpu_sys::tracegen::recursion_ext_alu_generate_preprocessed_trace_koala_bear_kernel()
55 }
56 }
57}
58
59pub unsafe trait TracegenRecursionExtAluKernel<F> {
61 fn tracegen_recursion_ext_alu_kernel() -> KernelPtr;
62}
63
64unsafe impl TracegenRecursionExtAluKernel<SP1Field> for TaskScope {
65 fn tracegen_recursion_ext_alu_kernel() -> KernelPtr {
66 unsafe { sp1_gpu_sys::tracegen::recursion_ext_alu_generate_trace_koala_bear_kernel() }
67 }
68}
69
70pub unsafe trait TracegenPreprocessedRecursionPoseidon2WideKernel<F> {
72 fn tracegen_preprocessed_recursion_poseidon2_wide_kernel() -> KernelPtr;
73}
74
75unsafe impl TracegenPreprocessedRecursionPoseidon2WideKernel<SP1Field> for TaskScope {
76 fn tracegen_preprocessed_recursion_poseidon2_wide_kernel() -> KernelPtr {
77 unsafe {
78 sp1_gpu_sys::tracegen::recursion_poseidon2_wide_generate_preprocessed_trace_koala_bear_kernel(
79 )
80 }
81 }
82}
83
84pub unsafe trait TracegenRecursionPoseidon2WideKernel<F> {
86 fn tracegen_recursion_poseidon2_wide_kernel() -> KernelPtr;
87}
88
89unsafe impl TracegenRecursionPoseidon2WideKernel<SP1Field> for TaskScope {
90 fn tracegen_recursion_poseidon2_wide_kernel() -> KernelPtr {
91 unsafe {
92 sp1_gpu_sys::tracegen::recursion_poseidon2_wide_generate_trace_koala_bear_kernel()
93 }
94 }
95}
96
97pub unsafe trait TracegenPreprocessedRecursionSelectKernel<F> {
99 fn tracegen_preprocessed_recursion_select_kernel() -> KernelPtr;
100}
101
102unsafe impl TracegenPreprocessedRecursionSelectKernel<SP1Field> for TaskScope {
103 fn tracegen_preprocessed_recursion_select_kernel() -> KernelPtr {
104 unsafe {
105 sp1_gpu_sys::tracegen::recursion_select_generate_preprocessed_trace_koala_bear_kernel()
106 }
107 }
108}
109
110pub unsafe trait TracegenRecursionSelectKernel<F> {
112 fn tracegen_recursion_select_kernel() -> KernelPtr;
113}
114
115unsafe impl TracegenRecursionSelectKernel<SP1Field> for TaskScope {
116 fn tracegen_recursion_select_kernel() -> KernelPtr {
117 unsafe { sp1_gpu_sys::tracegen::recursion_select_generate_trace_koala_bear_kernel() }
118 }
119}
120
121pub unsafe trait TracegenRecursionPrefixSumChecksKernel<F> {
123 fn tracegen_recursion_prefix_sum_checks_kernel() -> KernelPtr;
124}
125
126unsafe impl TracegenRecursionPrefixSumChecksKernel<SP1Field> for TaskScope {
127 fn tracegen_recursion_prefix_sum_checks_kernel() -> KernelPtr {
128 unsafe {
129 sp1_gpu_sys::tracegen::recursion_prefix_sum_checks_generate_trace_koala_bear_kernel()
130 }
131 }
132}
133
134pub unsafe trait TracegenPreprocessedRecursionConvertKernel<F> {
136 fn tracegen_preprocessed_recursion_convert_kernel() -> KernelPtr;
137}
138
139unsafe impl TracegenPreprocessedRecursionConvertKernel<SP1Field> for TaskScope {
140 fn tracegen_preprocessed_recursion_convert_kernel() -> KernelPtr {
141 unsafe {
142 sp1_gpu_sys::tracegen::recursion_convert_generate_preprocessed_trace_koala_bear_kernel()
143 }
144 }
145}
146
147pub unsafe trait TracegenRecursionConvertKernel<F> {
149 fn tracegen_recursion_convert_kernel() -> KernelPtr;
150}
151
152unsafe impl TracegenRecursionConvertKernel<SP1Field> for TaskScope {
153 fn tracegen_recursion_convert_kernel() -> KernelPtr {
154 unsafe { sp1_gpu_sys::tracegen::recursion_convert_generate_trace_koala_bear_kernel() }
155 }
156}
157
158pub unsafe trait TracegenPreprocessedRecursionLinearLayerKernel<F> {
160 fn tracegen_preprocessed_recursion_linear_layer_kernel() -> KernelPtr;
161}
162
163unsafe impl TracegenPreprocessedRecursionLinearLayerKernel<SP1Field> for TaskScope {
164 fn tracegen_preprocessed_recursion_linear_layer_kernel() -> KernelPtr {
165 unsafe {
166 sp1_gpu_sys::tracegen::recursion_linear_layer_generate_preprocessed_trace_koala_bear_kernel(
167 )
168 }
169 }
170}
171
172pub unsafe trait TracegenRecursionLinearLayerKernel<F> {
174 fn tracegen_recursion_linear_layer_kernel() -> KernelPtr;
175}
176
177unsafe impl TracegenRecursionLinearLayerKernel<SP1Field> for TaskScope {
178 fn tracegen_recursion_linear_layer_kernel() -> KernelPtr {
179 unsafe { sp1_gpu_sys::tracegen::recursion_linear_layer_generate_trace_koala_bear_kernel() }
180 }
181}
182
183pub unsafe trait TracegenPreprocessedRecursionSBoxKernel<F> {
185 fn tracegen_preprocessed_recursion_sbox_kernel() -> KernelPtr;
186}
187
188unsafe impl TracegenPreprocessedRecursionSBoxKernel<SP1Field> for TaskScope {
189 fn tracegen_preprocessed_recursion_sbox_kernel() -> KernelPtr {
190 unsafe {
191 sp1_gpu_sys::tracegen::recursion_sbox_generate_preprocessed_trace_koala_bear_kernel()
192 }
193 }
194}
195
196pub unsafe trait TracegenRecursionSBoxKernel<F> {
198 fn tracegen_recursion_sbox_kernel() -> KernelPtr;
199}
200
201unsafe impl TracegenRecursionSBoxKernel<SP1Field> for TaskScope {
202 fn tracegen_recursion_sbox_kernel() -> KernelPtr {
203 unsafe { sp1_gpu_sys::tracegen::recursion_sbox_generate_trace_koala_bear_kernel() }
204 }
205}