| 630 | } |
| 631 | |
| 632 | void batchnorm_grad(unsigned long int eid, float* input,float* grad,float* scale,float* offset,float* mean_x,float* variance, int N,int M,int H,int W, float* grad_in,float* grad_sc,float* grad_off,float* grad_mean,float* grad_var,float epsilon){ |
| 633 | sgx_status_t ret = ecall_batchnorm_grad(eid,input,grad,scale,offset,mean_x,variance,N,M,H,W,grad_in,grad_sc,grad_off,grad_mean,grad_var,epsilon); |
| 634 | if (ret != SGX_SUCCESS) { |
| 635 | print_error_message(ret); |
| 636 | throw ret; |
| 637 | } |
| 638 | } |
| 639 | |
| 640 | void dot(unsigned long int eid, float* input1,float* input2, int N1, int N2,int* shape1, int* shape2,int ndims ,float* output){ |
| 641 | sgx_status_t ret = ecall_dot(eid,input1,input2,N1,N2,shape1,shape2,ndims,output); |
nothing calls this directly
no test coverage detected