configure.ac add with-cuda/nv, update cakewalk theme, add cuda/plugins=mandel+nbody...
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / nbodycuda / nbodycuda.cu
diff --git a/cinelerra-5.1/plugins/nbodycuda/nbodycuda.cu b/cinelerra-5.1/plugins/nbodycuda/nbodycuda.cu
new file mode 100644 (file)
index 0000000..b82c79f
--- /dev/null
@@ -0,0 +1,35 @@
+#include <cuda_runtime.h>
+#include <cuda_gl_interop.h>
+#include "helper_cuda.h"
+#include "helper_gl.h"
+
+#include "nbodycuda.h"
+
+void N_BodyCuda::init()
+{
+       checkCudaErrors(cudaEventCreate(&startEvent));
+       checkCudaErrors(cudaEventCreate(&stopEvent));
+       checkCudaErrors(cudaEventCreate(&hostMemSyncEvent));
+}
+
+void N_BodyCuda::init_dev()
+{
+//     int dev_id = findCudaDevice(argc, (const char **)argv);
+       int dev_id = gpuGetMaxGflopsDeviceId();
+       checkCudaErrors(cudaSetDevice(dev_id));
+       cudaDeviceProp deviceProp;
+       checkCudaErrors(cudaGetDeviceProperties(&deviceProp, dev_id));
+printf("GPU Device %d: \"%s\" with compute capability %d.%d\n",
+  dev_id, deviceProp.name, deviceProp.major, deviceProp.minor);
+       version = deviceProp.major * 10 + deviceProp.minor;
+       numSMs = deviceProp.multiProcessorCount;
+}
+
+
+void N_BodyCuda::finish()
+{
+       checkCudaErrors(cudaEventDestroy(startEvent));
+       checkCudaErrors(cudaEventDestroy(stopEvent));
+       checkCudaErrors(cudaEventDestroy(hostMemSyncEvent));
+}
+