#include "tmpi.h"
#endif
-#ifdef GMX_DOUBLE
-#if ( defined(GMX_IA32_SSE2) || defined(GMX_X86_64_SSE2) || defined(GMX_SSE2) )
-#include "genborn_sse2_double.h"
-#include "genborn_allvsall_sse2_double.h"
-#endif
-#else
-#if ( defined(GMX_IA32_SSE) || defined(GMX_X86_64_SSE) || defined(GMX_SSE2) )
-#include "genborn_sse2_single.h"
-#include "genborn_allvsall_sse2_single.h"
-#endif /* GMX_SSE */
-#endif /* GMX_DOUBLE */
+#ifdef GMX_X86_SSE2
+# ifdef GMX_DOUBLE
+# include "genborn_sse2_double.h"
+# include "genborn_allvsall_sse2_double.h"
+# else
+# include "genborn_sse2_single.h"
+# include "genborn_allvsall_sse2_single.h"
+# endif /* GMX_DOUBLE */
+#endif /* SSE or AVX present */
#include "genborn_allvsall.h"
if(ir->gb_algorithm==egbSTILL)
{
-#if ( defined(GMX_IA32_SSE) || defined(GMX_X86_64_SSE) || (!defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- if(fr->UseOptimizedKernels)
- {
- genborn_allvsall_calc_still_radii_sse2_single(fr,md,born,top,x[0],cr,&fr->AllvsAll_workgb);
- }
- else
- {
- genborn_allvsall_calc_still_radii(fr,md,born,top,x[0],cr,&fr->AllvsAll_workgb);
- }
-#elif ( defined(GMX_IA32_SSE2) || defined(GMX_X86_64_SSE2) || (defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- if(fr->UseOptimizedKernels)
+#if 0 && defined (GMX_X86_SSE2)
+ if(fr->use_acceleration)
{
+# ifdef GMX_DOUBLE
genborn_allvsall_calc_still_radii_sse2_double(fr,md,born,top,x[0],cr,&fr->AllvsAll_workgb);
+# else
+ genborn_allvsall_calc_still_radii_sse2_single(fr,md,born,top,x[0],cr,&fr->AllvsAll_workgb);
+# endif
}
else
{
}
else if(ir->gb_algorithm==egbHCT || ir->gb_algorithm==egbOBC)
{
-#if ( defined(GMX_IA32_SSE) || defined(GMX_X86_64_SSE) || (!defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- if(fr->UseOptimizedKernels)
- {
- genborn_allvsall_calc_hct_obc_radii_sse2_single(fr,md,born,ir->gb_algorithm,top,x[0],cr,&fr->AllvsAll_workgb);
- }
- else
- {
- genborn_allvsall_calc_hct_obc_radii(fr,md,born,ir->gb_algorithm,top,x[0],cr,&fr->AllvsAll_workgb);
- }
-#elif ( defined(GMX_IA32_SSE2) || defined(GMX_X86_64_SSE2) || (defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- if(fr->UseOptimizedKernels)
+#if 0 && defined (GMX_X86_SSE2)
+ if(fr->use_acceleration)
{
+# ifdef GMX_DOUBLE
genborn_allvsall_calc_hct_obc_radii_sse2_double(fr,md,born,ir->gb_algorithm,top,x[0],cr,&fr->AllvsAll_workgb);
+# else
+ genborn_allvsall_calc_hct_obc_radii_sse2_single(fr,md,born,ir->gb_algorithm,top,x[0],cr,&fr->AllvsAll_workgb);
+# endif
}
else
{
/* Switch for determining which algorithm to use for Born radii calculation */
#ifdef GMX_DOUBLE
-#if ( defined(GMX_IA32_SSE2) || defined(GMX_X86_64_SSE2) || defined(GMX_SSE2) )
+#if 0 && defined (GMX_X86_SSE2)
/* x86 or x86-64 with GCC inline assembly and/or SSE intrinsics */
switch(ir->gb_algorithm)
{
case egbSTILL:
- if(fr->UseOptimizedKernels)
+ if(fr->use_acceleration)
{
calc_gb_rad_still_sse2_double(cr,fr,born->nr,top, atype, x[0], nl, born);
}
}
break;
case egbHCT:
- if(fr->UseOptimizedKernels)
+ if(fr->use_acceleration)
{
calc_gb_rad_hct_obc_sse2_double(cr,fr,born->nr,top, atype, x[0], nl, born, md, ir->gb_algorithm);
}
}
break;
case egbOBC:
- if(fr->UseOptimizedKernels)
+ if(fr->use_acceleration)
{
calc_gb_rad_hct_obc_sse2_double(cr,fr,born->nr,top, atype, x[0], nl, born, md, ir->gb_algorithm);
}
#else
-#if (!defined DISABLE_SSE && ( defined(GMX_IA32_SSE) || defined(GMX_X86_64_SSE) || defined(GMX_SSE2) ) )
+#if 0 && defined (GMX_X86_SSE2)
/* x86 or x86-64 with GCC inline assembly and/or SSE intrinsics */
switch(ir->gb_algorithm)
{
case egbSTILL:
- if(fr->UseOptimizedKernels)
+ if(fr->use_acceleration)
{
calc_gb_rad_still_sse2_single(cr,fr,born->nr,top, atype, x[0], nl, born);
}
}
break;
case egbHCT:
- if(fr->UseOptimizedKernels)
+ if(fr->use_acceleration)
{
calc_gb_rad_hct_obc_sse2_single(cr,fr,born->nr,top, atype, x[0], nl, born, md, ir->gb_algorithm);
}
break;
case egbOBC:
- if(fr->UseOptimizedKernels)
+ if(fr->use_acceleration)
{
calc_gb_rad_hct_obc_sse2_single(cr,fr,born->nr,top, atype, x[0], nl, born, md, ir->gb_algorithm);
}
if(fr->bAllvsAll)
{
-#if ( defined(GMX_IA32_SSE) || defined(GMX_X86_64_SSE) || (!defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- if(fr->UseOptimizedKernels)
- {
- genborn_allvsall_calc_chainrule_sse2_single(fr,md,born,x[0],f[0],gb_algorithm,fr->AllvsAll_workgb);
- }
- else
- {
- genborn_allvsall_calc_chainrule(fr,md,born,x[0],f[0],gb_algorithm,fr->AllvsAll_workgb);
- }
-#elif ( defined(GMX_IA32_SSE2) || defined(GMX_X86_64_SSE2) || (defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- if(fr->UseOptimizedKernels)
+#if 0 && defined (GMX_X86_SSE2)
+ if(fr->use_acceleration)
{
+# ifdef GMX_DOUBLE
genborn_allvsall_calc_chainrule_sse2_double(fr,md,born,x[0],f[0],gb_algorithm,fr->AllvsAll_workgb);
+# else
+ genborn_allvsall_calc_chainrule_sse2_single(fr,md,born,x[0],f[0],gb_algorithm,fr->AllvsAll_workgb);
+# endif
}
else
{
return;
}
-#ifdef GMX_DOUBLE
-
-#if ( defined(GMX_IA32_SSE2) || defined(GMX_X86_64_SSE2) || (defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- if(fr->UseOptimizedKernels)
+#if 0 && defined (GMX_X86_SSE2)
+ if(fr->use_acceleration)
{
- calc_gb_chainrule_sse2_double(fr->natoms_force, &(fr->gblist), fr->dadx, fr->dvda,
- x[0], f[0], fr->fshift[0], fr->shift_vec[0],
- gb_algorithm, born, md);
+# ifdef GMX_DOUBLE
+ calc_gb_chainrule_sse2_double(fr->natoms_force, &(fr->gblist),fr->dadx,fr->dvda,x[0],
+ f[0],fr->fshift[0],fr->shift_vec[0],gb_algorithm,born,md);
+# else
+ calc_gb_chainrule_sse2_single(fr->natoms_force, &(fr->gblist),fr->dadx,fr->dvda,x[0],
+ f[0],fr->fshift[0],fr->shift_vec[0],gb_algorithm,born,md);
+# endif
}
else
{
calc_gb_chainrule(fr->natoms_force, &(fr->gblist), fr->dadx, fr->dvda,
- x, f, fr->fshift, fr->shift_vec, gb_algorithm, born, md);
+ x, f, fr->fshift, fr->shift_vec, gb_algorithm, born, md);
}
#else
calc_gb_chainrule(fr->natoms_force, &(fr->gblist), fr->dadx, fr->dvda,
x, f, fr->fshift, fr->shift_vec, gb_algorithm, born, md);
#endif
-
-#else
-
-#if ( defined(GMX_IA32_SSE) || defined(GMX_X86_64_SSE) || (!defined(GMX_DOUBLE) && defined(GMX_SSE2)) )
- /* x86 or x86-64 with GCC inline assembly and/or SSE intrinsics */
- if(fr->UseOptimizedKernels)
- {
- calc_gb_chainrule_sse2_single(fr->natoms_force, &(fr->gblist), fr->dadx, fr->dvda,
- x[0], f[0], fr->fshift[0], fr->shift_vec[0],
- gb_algorithm, born, md);
- }
- else
- {
- calc_gb_chainrule(fr->natoms_force, &(fr->gblist), fr->dadx, fr->dvda,
- x, f, fr->fshift, fr->shift_vec, gb_algorithm, born, md);
- }
-
-#else
- /* Calculate the forces due to chain rule terms with non sse code */
- calc_gb_chainrule(fr->natoms_force, &(fr->gblist), fr->dadx, fr->dvda,
- x, f, fr->fshift, fr->shift_vec, gb_algorithm, born, md);
-#endif
-#endif
-
+
if(!fr->bAllvsAll)
{
inc_nrnb(nrnb,eNR_BORN_CHAINRULE,fr->gblist.nrj);