1 /* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
4 * This file is part of Gromacs Copyright (c) 1991-2004
5 * David van der Spoel, Erik Lindahl, University of Groningen.
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * To help us fund GROMACS development, we humbly ask that you cite
13 * the research papers on the package. Check out http://www.gromacs.org
16 * Gnomes, ROck Monsters And Chili Sauce
18 #ifndef _NB_KERNEL132_X86_64_SSE_H_
19 #define _NB_KERNEL132_X86_64_SSE_H_
22 /*! \file nb_kernel132_x86_64_sse.h
23 * \brief x86_64 SSE-optimized versions of nonbonded kernel 132
35 /*! \brief Nonbonded kernel 132 with forces, optimized for x86_64 sse.
39 * <b>Coulomb interaction:</b> Standard 1/r <br>
40 * <b>VdW interaction:</b> Tabulated <br>
41 * <b>Water optimization:</b> Pairs of SPC/TIP3P waters interaction <br>
42 * <b>Forces calculated:</b> Yes <br>
44 * \note All level1 and level2 nonbonded kernels use the same
45 * call sequence. Parameters are documented in nb_kernel.h
48 nb_kernel132_x86_64_sse (int * nri
, int iinr
[], int jindex
[],
49 int jjnr
[], int shift
[], float shiftvec
[],
50 float fshift
[], int gid
[], float pos
[],
51 float faction
[], float charge
[], float * facel
,
52 float * krf
, float * crf
, float Vc
[],
53 int type
[], int * ntype
, float vdwparam
[],
54 float Vvdw
[], float * tabscale
, float VFtab
[],
55 float invsqrta
[], float dvda
[], float * gbtabscale
,
56 float GBtab
[], int * nthreads
, int * count
,
57 void * mtx
, int * outeriter
,int * inneriter
,
62 /*! \brief Nonbonded kernel 132 without forces, optimized for x86_64 sse.
66 * <b>Coulomb interaction:</b> Standard 1/r <br>
67 * <b>VdW interaction:</b> Tabulated <br>
68 * <b>Water optimization:</b> Pairs of SPC/TIP3P waters interaction <br>
69 * <b>Forces calculated:</b> No <br>
71 * \note All level1 and level2 nonbonded kernels use the same
72 * call sequence. Parameters are documented in nb_kernel.h
75 nb_kernel132nf_x86_64_sse(int * nri
, int iinr
[], int jindex
[],
76 int jjnr
[], int shift
[], float shiftvec
[],
77 float fshift
[], int gid
[], float pos
[],
78 float faction
[], float charge
[], float * facel
,
79 float * krf
, float * crf
, float Vc
[],
80 int type
[], int * ntype
, float vdwparam
[],
81 float Vvdw
[], float * tabscale
, float VFtab
[],
82 float invsqrta
[], float dvda
[], float * gbtabscale
,
83 float GBtab
[], int * nthreads
, int * count
,
84 void * mtx
, int * outeriter
,int * inneriter
,
93 #endif /* _NB_KERNEL132_X86_64_SSE_H_ */