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_KERNEL301_X86_64_SSE_H_
19 #define _NB_KERNEL301_X86_64_SSE_H_
22 /*! \file nb_kernel301_x86_64_sse.h
23 * \brief x86_64 SSE-optimized versions of nonbonded kernel 301
37 /*! \brief Nonbonded kernel 301 with forces, optimized for x86_64 sse.
41 * <b>Coulomb interaction:</b> Tabulated <br>
42 * <b>VdW interaction:</b> No <br>
43 * <b>Water optimization:</b> SPC/TIP3P interacting with non-water atoms <br>
44 * <b>Forces calculated:</b> Yes <br>
46 * \note All level1 and level2 nonbonded kernels use the same
47 * call sequence. Parameters are documented in nb_kernel.h
50 nb_kernel301_x86_64_sse (int * nri
, int iinr
[], int jindex
[],
51 int jjnr
[], int shift
[], float shiftvec
[],
52 float fshift
[], int gid
[], float pos
[],
53 float faction
[], float charge
[], float * facel
,
54 float * krf
, float * crf
, float Vc
[],
55 int type
[], int * ntype
, float vdwparam
[],
56 float Vvdw
[], float * tabscale
, float VFtab
[],
57 float invsqrta
[], float dvda
[], float * gbtabscale
,
58 float GBtab
[], int * nthreads
, int * count
,
59 void * mtx
, int * outeriter
,int * inneriter
,
64 /*! \brief Nonbonded kernel 301 without forces, optimized for x86_64 sse.
68 * <b>Coulomb interaction:</b> Tabulated <br>
69 * <b>VdW interaction:</b> No <br>
70 * <b>Water optimization:</b> SPC/TIP3P interacting with non-water atoms <br>
71 * <b>Forces calculated:</b> No <br>
73 * \note All level1 and level2 nonbonded kernels use the same
74 * call sequence. Parameters are documented in nb_kernel.h
77 nb_kernel301nf_x86_64_sse(int * nri
, int iinr
[], int jindex
[],
78 int jjnr
[], int shift
[], float shiftvec
[],
79 float fshift
[], int gid
[], float pos
[],
80 float faction
[], float charge
[], float * facel
,
81 float * krf
, float * crf
, float Vc
[],
82 int type
[], int * ntype
, float vdwparam
[],
83 float Vvdw
[], float * tabscale
, float VFtab
[],
84 float invsqrta
[], float dvda
[], float * gbtabscale
,
85 float GBtab
[], int * nthreads
, int * count
,
86 void * mtx
, int * outeriter
,int * inneriter
,
96 #endif /* _NB_KERNEL301_X86_64_SSE_H_ */