cudafunc.cu 1.6 KB
#include <stim/cuda/arraymath.cuh>
#include <stim/cuda/templates/conv2.cuh>
#include <stim/cuda/templates/conv2sep.cuh>
#include <stim/cuda/templates/chi_gradient.cuh>

void array_multiply(float* lhs, float rhs, unsigned int N){

	stim::cuda::cpu_multiply(lhs, rhs, N);
}

void array_add(float* ptr1, float* ptr2, float* sum, unsigned int N){

	stim::cuda::cpu_add(ptr1, ptr2, sum, N);

}

void array_multiply(float* ptr1, float* ptr2, float* product, unsigned int N){

	stim::cuda::cpu_add(ptr1, ptr2, product, N);

}

void conv2(float* img, float* mask, float* cpu_copy, unsigned int w, unsigned int h, unsigned int M){

	stim::cuda::cpu_conv2(img, mask, cpu_copy, w, h, M);

}

void array_abs(float* img, unsigned int N){

	stim::cuda::cpu_abs(img, N);

}

void conv2_sep(float* img, unsigned int x, unsigned int y, float* kernel0, unsigned int k0, float* kernel1, unsigned int k1){

	stim::cuda::cpu_conv2sep(img, x, y, kernel0, k0, kernel1, k1);

}

void array_cos(float* ptr1, float* cpu_out, unsigned int N){

	stim::cuda::cpu_cos(ptr1, cpu_out, N);

}

void array_sin(float* ptr1, float* cpu_out, unsigned int N){

	stim::cuda::cpu_sin(ptr1, cpu_out, N);

}

void array_atan(float* ptr1, float* cpu_out, unsigned int N){

	stim::cuda::cpu_atan(ptr1, cpu_out, N);

}

void array_divide(float* ptr1, float* ptr2,float* cpu_quotient, unsigned int N){

	stim::cuda::cpu_divide(ptr1, ptr2, cpu_quotient, N);

}

void chi_grad(float* img, float* cpu_copy, unsigned int w, unsigned int h, int r, unsigned int bin_n, unsigned int bin_size, float theta){

	stim::cuda::cpu_chi_grad(img, cpu_copy, w, h, r, bin_n, bin_size, theta);

}