PandA-2024.02
vecmul_a.cc
Go to the documentation of this file.
1 #include "tvm/runtime/c_runtime_api.h"
2 #include "tvm/runtime/c_backend_api.h"
3 extern void* __tvm_module_ctx = NULL;
4 #ifdef __cplusplus
5 extern "C"
6 #endif
7 TVM_DLL int32_t fused_multiply( void* args, void* arg_type_ids, int32_t num_args) {
8  void* arg0 = (((TVMValue*)args)[0].v_handle);
9  int32_t arg0_code = (( int32_t*)arg_type_ids)[0];
10  void* arg1 = (((TVMValue*)args)[1].v_handle);
11  int32_t arg1_code = (( int32_t*)arg_type_ids)[1];
12  void* arg2 = (((TVMValue*)args)[2].v_handle);
13  int32_t arg2_code = (( int32_t*)arg_type_ids)[2];
14  float* placeholder = (float*)(((TVMArray*)arg0)[0].data);
15  int64_t* arg0_shape = (int64_t*)(((TVMArray*)arg0)[0].shape);
16  int64_t* arg0_strides = (int64_t*)(((TVMArray*)arg0)[0].strides);
17  int32_t dev_type = (((TVMArray*)arg0)[0].ctx.device_type);
18  int32_t dev_id = (((TVMArray*)arg0)[0].ctx.device_id);
19  float* placeholder1 = (float*)(((TVMArray*)arg1)[0].data);
20  int64_t* arg1_shape = (int64_t*)(((TVMArray*)arg1)[0].shape);
21  int64_t* arg1_strides = (int64_t*)(((TVMArray*)arg1)[0].strides);
22  float* T_multiply = (float*)(((TVMArray*)arg2)[0].data);
23  int64_t* arg2_shape = (int64_t*)(((TVMArray*)arg2)[0].shape);
24  int64_t* arg2_strides = (int64_t*)(((TVMArray*)arg2)[0].strides);
25  if (!(arg0_strides == NULL)) {
26  }
27  if (!(arg1_strides == NULL)) {
28  }
29  if (!(arg2_strides == NULL)) {
30  }
31  for (int32_t ax1 = 0; ax1 < 8; ++ax1) {
32  T_multiply[ax1] = (placeholder[ax1] * placeholder1[ax1]);
33  }
34  return 0;
35 }
36 
#define NULL
TVM_DLL int32_t fused_multiply(void *args, void *arg_type_ids, int32_t num_args)
Definition: vecmul_a.cc:7
Union type of values being passed through API and function calls.
void * __tvm_module_ctx
#define TVM_DLL
Definition: c_runtime_api.h:59
Plain C Tensor object, does not manage memory.
Definition: dlpack.h:111

Generated on Mon Feb 12 2024 13:02:50 for PandA-2024.02 by doxygen 1.8.13