Commit 8d9ef563 authored by peastman's avatar peastman
Browse files

Fixed compilation problems on Windows

parent 6c61ddfe
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
using namespace OpenMM; using namespace OpenMM;
extern "C" void registerPlatforms() { extern "C" OPENMM_EXPORT void registerPlatforms() {
} }
extern "C" OPENMM_EXPORT void registerKernelFactories() { extern "C" OPENMM_EXPORT void registerKernelFactories() {
......
...@@ -32,10 +32,10 @@ ...@@ -32,10 +32,10 @@
using namespace OpenMM; using namespace OpenMM;
extern "C" void registerPlatforms() { extern "C" OPENMM_EXPORT_PME void registerPlatforms() {
} }
extern "C" void registerKernelFactories() { extern "C" OPENMM_EXPORT_PME void registerKernelFactories() {
if (CpuCalcPmeReciprocalForceKernel::isProcessorSupported()) { if (CpuCalcPmeReciprocalForceKernel::isProcessorSupported()) {
CpuPmeKernelFactory* factory = new CpuPmeKernelFactory(); CpuPmeKernelFactory* factory = new CpuPmeKernelFactory();
for (int i = 0; i < Platform::getNumPlatforms(); i++) for (int i = 0; i < Platform::getNumPlatforms(); i++)
......
...@@ -119,8 +119,9 @@ static void spreadCharge(int start, int end, float* posq, float* grid, int gridx ...@@ -119,8 +119,9 @@ static void spreadCharge(int start, int end, float* posq, float* grid, int gridx
for (int i = start; i < end; i++) { for (int i = start; i < end; i++) {
// Find the position relative to the nearest grid point. // Find the position relative to the nearest grid point.
__m128 pos = _mm_load_ps(&posq[4*i]); __m128 pos = _mm_loadu_ps(&posq[4*i]);
__m128 posInBox = _mm_sub_ps(pos, _mm_mul_ps(boxSize, _mm_floor_ps(_mm_mul_ps(pos, invBoxSize)))); __m128 posFloor = _mm_floor_ps(_mm_mul_ps(pos, invBoxSize));
__m128 posInBox = _mm_sub_ps(pos, _mm_mul_ps(boxSize, posFloor));
__m128 t = _mm_mul_ps(_mm_mul_ps(posInBox, invBoxSize), gridSize); __m128 t = _mm_mul_ps(_mm_mul_ps(posInBox, invBoxSize), gridSize);
__m128i ti = _mm_cvttps_epi32(t); __m128i ti = _mm_cvttps_epi32(t);
__m128 dr = _mm_sub_ps(t, _mm_cvtepi32_ps(ti)); __m128 dr = _mm_sub_ps(t, _mm_cvtepi32_ps(ti));
...@@ -309,8 +310,9 @@ static void interpolateForces(int start, int end, float* posq, float* force, flo ...@@ -309,8 +310,9 @@ static void interpolateForces(int start, int end, float* posq, float* force, flo
for (int i = start; i < end; i++) { for (int i = start; i < end; i++) {
// Find the position relative to the nearest grid point. // Find the position relative to the nearest grid point.
__m128 pos = _mm_load_ps(&posq[4*i]); __m128 pos = _mm_loadu_ps(&posq[4*i]);
__m128 posInBox = _mm_sub_ps(pos, _mm_mul_ps(boxSize, _mm_floor_ps(_mm_mul_ps(pos, invBoxSize)))); __m128 posFloor = _mm_floor_ps(_mm_mul_ps(pos, invBoxSize));
__m128 posInBox = _mm_sub_ps(pos, _mm_mul_ps(boxSize, posFloor));
__m128 t = _mm_mul_ps(_mm_mul_ps(posInBox, invBoxSize), gridSize); __m128 t = _mm_mul_ps(_mm_mul_ps(posInBox, invBoxSize), gridSize);
__m128i ti = _mm_cvttps_epi32(t); __m128i ti = _mm_cvttps_epi32(t);
__m128 dr = _mm_sub_ps(t, _mm_cvtepi32_ps(ti)); __m128 dr = _mm_sub_ps(t, _mm_cvtepi32_ps(ti));
......
...@@ -34,10 +34,10 @@ ...@@ -34,10 +34,10 @@
using namespace OpenMM; using namespace OpenMM;
extern "C" void registerPlatforms() { extern "C" OPENMM_EXPORT void registerPlatforms() {
} }
extern "C" void registerKernelFactories() { extern "C" OPENMM_EXPORT void registerKernelFactories() {
try { try {
Platform& platform = Platform::getPlatformByName("CUDA"); Platform& platform = Platform::getPlatformByName("CUDA");
CudaDrudeKernelFactory* factory = new CudaDrudeKernelFactory(); CudaDrudeKernelFactory* factory = new CudaDrudeKernelFactory();
......
...@@ -34,10 +34,10 @@ ...@@ -34,10 +34,10 @@
using namespace OpenMM; using namespace OpenMM;
extern "C" void registerPlatforms() { extern "C" OPENMM_EXPORT void registerPlatforms() {
} }
extern "C" void registerKernelFactories() { extern "C" OPENMM_EXPORT void registerKernelFactories() {
try { try {
Platform& platform = Platform::getPlatformByName("OpenCL"); Platform& platform = Platform::getPlatformByName("OpenCL");
OpenCLDrudeKernelFactory* factory = new OpenCLDrudeKernelFactory(); OpenCLDrudeKernelFactory* factory = new OpenCLDrudeKernelFactory();
......
...@@ -34,10 +34,10 @@ ...@@ -34,10 +34,10 @@
using namespace OpenMM; using namespace OpenMM;
extern "C" void registerPlatforms() { extern "C" OPENMM_EXPORT void registerPlatforms() {
} }
extern "C" void registerKernelFactories() { extern "C" OPENMM_EXPORT void registerKernelFactories() {
try { try {
Platform& platform = Platform::getPlatformByName("CUDA"); Platform& platform = Platform::getPlatformByName("CUDA");
CudaRpmdKernelFactory* factory = new CudaRpmdKernelFactory(); CudaRpmdKernelFactory* factory = new CudaRpmdKernelFactory();
......
...@@ -28,16 +28,16 @@ ...@@ -28,16 +28,16 @@
#include "OpenCLRpmdKernelFactory.h" #include "OpenCLRpmdKernelFactory.h"
#include "OpenCLRpmdKernels.h" #include "OpenCLRpmdKernels.h"
#include "openmm/internal/windowsExport.h" #include "openmm/internal/windowsExportRpmd.h"
#include "openmm/internal/ContextImpl.h" #include "openmm/internal/ContextImpl.h"
#include "openmm/OpenMMException.h" #include "openmm/OpenMMException.h"
using namespace OpenMM; using namespace OpenMM;
extern "C" void registerPlatforms() { extern "C" OPENMM_EXPORT void registerPlatforms() {
} }
extern "C" void registerKernelFactories() { extern "C" OPENMM_EXPORT void registerKernelFactories() {
try { try {
Platform& platform = Platform::getPlatformByName("OpenCL"); Platform& platform = Platform::getPlatformByName("OpenCL");
OpenCLRpmdKernelFactory* factory = new OpenCLRpmdKernelFactory(); OpenCLRpmdKernelFactory* factory = new OpenCLRpmdKernelFactory();
......
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