Q.ANT Native Computing Toolkit 2.3.1
All you need for photonic computing
Loading...
Searching...
No Matches
qant_native_computing_toolkit_ai.h
Go to the documentation of this file.
1#ifndef QANT_NATIVE_COMPUTING_TOOLKIT_AI_H
2#define QANT_NATIVE_COMPUTING_TOOLKIT_AI_H
3
4#ifndef __cplusplus
5#include <stdbool.h>
6#endif
7#include <stddef.h>
8#include <stdint.h>
9
10#include <dlpack/dlpack.h>
11
12#ifdef __cplusplus
13namespace qant_native_computing_toolkit::ai
14{
15 extern "C"
16 {
17#endif
18
27 DLManagedTensorVersioned *add_bias_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
28 DLManagedTensorVersioned const *bias);
29
39 DLManagedTensorVersioned *add_bias_for_conv2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
40 DLManagedTensorVersioned const *bias);
41
52 DLManagedTensorVersioned *relu_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features);
53
64 DLManagedTensorVersioned *sigmoid_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features);
65
76 DLManagedTensorVersioned *softmax_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features);
77
92 DLManagedTensorVersioned *conv_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
93 DLManagedTensorVersioned const *kernels,
94 size_t const padding,
95 size_t const stride,
96 size_t const dilation);
97
112 DLManagedTensorVersioned *conv_transpose_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
113 DLManagedTensorVersioned const *kernels,
114 size_t const padding,
115 size_t const stride,
116 size_t const dilation,
117 size_t const output_padding);
118
139 DLManagedTensorVersioned *batchnorm2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
140 DLManagedTensorVersioned const *means,
141 DLManagedTensorVersioned const *variances,
142 DLManagedTensorVersioned const *weights,
143 DLManagedTensorVersioned const *bias,
144 float const eps);
145
163 DLManagedTensorVersioned *maxpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
164 size_t const kernel_height,
165 size_t const kernel_width,
166 size_t const padding,
167 size_t const stride);
168
186 DLManagedTensorVersioned *avgpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
187 size_t const kernel_height,
188 size_t const kernel_width,
189 size_t const padding,
190 size_t const stride,
191 bool const count_include_pad);
192
205 DLManagedTensorVersioned *adaptive_maxpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
206 size_t const output_height,
207 size_t const output_width);
208
221 DLManagedTensorVersioned *adaptive_avgpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
222 size_t const output_height,
223 size_t const output_width);
224
245 DLManagedTensorVersioned *calc_kan_layer_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features,
246 DLManagedTensorVersioned const *phis,
247 DLManagedTensorVersioned const *ampls,
248 DLManagedTensorVersioned const *ks);
249
250#ifdef __cplusplus
251 } // extern "C"
252} // namespace qant_native_computing_toolkit::ai
253#endif
254
255#endif // QANT_NATIVE_COMPUTING_TOOLKIT_AI_H
DLManagedTensorVersioned * batchnorm2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, DLManagedTensorVersioned const *means, DLManagedTensorVersioned const *variances, DLManagedTensorVersioned const *weights, DLManagedTensorVersioned const *bias, float const eps)
Performs a forward pass through a batchnorm2d layer.
DLManagedTensorVersioned * adaptive_avgpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, size_t const output_height, size_t const output_width)
Performs a forward pass through an adaptive avgpooling2d layer.
DLManagedTensorVersioned * maxpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, size_t const kernel_height, size_t const kernel_width, size_t const padding, size_t const stride)
Performs a forward pass through a maxpooling2d layer.
DLManagedTensorVersioned * calc_kan_layer_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, DLManagedTensorVersioned const *phis, DLManagedTensorVersioned const *ampls, DLManagedTensorVersioned const *ks)
Calculates a Q.ANT version of a KAN layer (https://arxiv.org/abs/2404.19756) based on scaled_periodic...
DLManagedTensorVersioned * conv_transpose_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, DLManagedTensorVersioned const *kernels, size_t const padding, size_t const stride, size_t const dilation, size_t const output_padding)
Performs a forward pass through a transposed convolution layer.
DLManagedTensorVersioned * add_bias_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, DLManagedTensorVersioned const *bias)
Element-wise addition. Supports batched input.
DLManagedTensorVersioned * avgpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, size_t const kernel_height, size_t const kernel_width, size_t const padding, size_t const stride, bool const count_include_pad)
Performs a forward pass through a avgpooling2d layer.
DLManagedTensorVersioned * relu_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features)
Performs a forward pass through a ReLU layer.
DLManagedTensorVersioned * add_bias_for_conv2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, DLManagedTensorVersioned const *bias)
Element-wise addition. Specifically used for conv2d.
DLManagedTensorVersioned * sigmoid_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features)
Performs a forward pass through a Sigmoid layer.
DLManagedTensorVersioned * softmax_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features)
Performs a forward pass through a Softmax layer.
DLManagedTensorVersioned * adaptive_maxpool2d_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, size_t const output_height, size_t const output_width)
Performs a forward pass through an adaptive maxpooling2d layer.
DLManagedTensorVersioned * conv_fprop(const uint32_t npu_id, DLManagedTensorVersioned const *features, DLManagedTensorVersioned const *kernels, size_t const padding, size_t const stride, size_t const dilation)
Performs a forward pass through a convolution layer.