1 #include "tvm/runtime/c_runtime_api.h" 2 #include "tvm/runtime/c_backend_api.h" 9 void* arg0 = (((
TVMValue*)args)[0].v_handle);
10 float* placeholder = (
float*)(((
TVMArray*)arg0)[0].data);
12 void* arg1 = (((
TVMValue*)args)[1].v_handle);
13 float* tensor = (
float*)(((
TVMArray*)arg1)[0].data);
18 tensor1[0] = -3.402823e+38f;
20 for (int32_t k1 = 0; k1 < 64; ++k1) {
21 float _1 = tensor1[0];
22 float _2 = placeholder[k1];
23 tensor1[0] = ((_1) > (_2) ? (_1) : (_2));
26 for (int32_t ax1 = 0; ax1 < 64; ++ax1) {
27 tensor2[ax1] = expf((placeholder[ax1] - tensor1[0]));
30 tensor3[0] = 0.000000e+00f;
31 for (int32_t k2 = 0; k2 < 64; ++k2) {
32 tensor3[0] = (tensor3[0] + tensor2[k2]);
35 for (int32_t ax11 = 0; ax11 < 64; ++ax11) {
36 tensor[ax11] = (tensor2[ax11] / tensor3[0]);
Union type of values being passed through API and function calls.
TVM_DLL int32_t fused_nn_softmax(void *args, void *arg_type_ids, int32_t num_args)
Plain C Tensor object, does not manage memory.