#pragma once #include #include #include #include #include #include //Function declarations extern "C" __declspec(dllexport) void __cdecl selfSVD(const int M, const int N, float* matrixA, float* matrixS, float* matrixR, float* matrixT); extern "C" __declspec(dllexport) void __cdecl selfgemm (int M, int N, int K, float* matrixA, float* matrixB, float* matrixC); void checkStatus(culaStatus status); void checkCudaError(cudaError_t err); int MeetsMinimumCulaRequirements(); void culaDeviceComplexSVDExample(const int M, const int N, float* matrixA, float* matrixS, float* matrixR, float* matrixT); void culaDeviceComplexgemmExample(int M, int N, int K, float* matrixA, float* matrixB, float* matrixC);