Commit f92c61b0 authored by Christopher Bruns's avatar Christopher Bruns
Browse files

Work around two different "PI" finding problems on Windows XP with Visual Studio Express 9 (2008)

parent 68ec5df7
...@@ -38,6 +38,8 @@ ...@@ -38,6 +38,8 @@
#include <set> #include <set>
#include <algorithm> #include <algorithm>
#ifdef WIN32 #ifdef WIN32
#define _USE_MATH_DEFINES /* M_PI */
#include <math.h>
#include <windows.h> #include <windows.h>
#else #else
#include <stdint.h> #include <stdint.h>
......
...@@ -32,6 +32,9 @@ using namespace std; ...@@ -32,6 +32,9 @@ using namespace std;
static __constant__ cudaGmxSimulation cSim; static __constant__ cudaGmxSimulation cSim;
/* Cuda compiler on Windows does not recognized "static const float" values */
#define LOCAL_HACK_PI 3.1415926535897932384626433832795
void SetCalculatePMESim(gpuContext gpu) void SetCalculatePMESim(gpuContext gpu)
{ {
cudaError_t status; cudaError_t status;
...@@ -372,8 +375,8 @@ __global__ void kGridSpreadCharge_kernel() ...@@ -372,8 +375,8 @@ __global__ void kGridSpreadCharge_kernel()
__global__ void kReciprocalConvolution_kernel() __global__ void kReciprocalConvolution_kernel()
{ {
const unsigned int gridSize = cSim.pmeGridSize.x*cSim.pmeGridSize.y*cSim.pmeGridSize.z; const unsigned int gridSize = cSim.pmeGridSize.x*cSim.pmeGridSize.y*cSim.pmeGridSize.z;
float expFactor = PI*PI/(cSim.alphaEwald*cSim.alphaEwald); float expFactor = LOCAL_HACK_PI*LOCAL_HACK_PI/(cSim.alphaEwald*cSim.alphaEwald);
float scaleFactor = 1.0/(PI*cSim.periodicBoxSizeX*cSim.periodicBoxSizeY*cSim.periodicBoxSizeZ); float scaleFactor = 1.0/(LOCAL_HACK_PI*cSim.periodicBoxSizeX*cSim.periodicBoxSizeY*cSim.periodicBoxSizeZ);
float energy = 0.0f; float energy = 0.0f;
for (int index = blockIdx.x*blockDim.x+threadIdx.x; index < gridSize; index += blockDim.x*gridDim.x) for (int index = blockIdx.x*blockDim.x+threadIdx.x; index < gridSize; index += blockDim.x*gridDim.x)
{ {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment