Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
0f83a741
Commit
0f83a741
authored
Nov 15, 2011
by
Peter Eastman
Browse files
Minor changes to work under CUDA 4.1
parent
efc8cdba
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
5 deletions
+11
-5
platforms/cuda/src/kernels/kCalculateCustomNonbondedForces.h
platforms/cuda/src/kernels/kCalculateCustomNonbondedForces.h
+11
-5
No files found.
platforms/cuda/src/kernels/kCalculateCustomNonbondedForces.h
View file @
0f83a741
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
__global__
void
METHOD_NAME
(
kCalculateCustomNonbonded
,
Forces_kernel
)(
unsigned
int
*
workUnit
)
__global__
void
METHOD_NAME
(
kCalculateCustomNonbonded
,
Forces_kernel
)(
unsigned
int
*
workUnit
)
{
{
extern
__shared__
float
stack
[];
extern
__shared__
float
stack
[];
Atom
*
sA
=
(
Atom
*
)
&
stack
[
cSim
.
customExpressionStackSize
*
blockDim
.
x
];
volatile
Atom
*
sA
=
(
volatile
Atom
*
)
&
stack
[
cSim
.
customExpressionStackSize
*
blockDim
.
x
];
float
*
variables
=
(
float
*
)
&
sA
[
blockDim
.
x
];
float
*
variables
=
(
float
*
)
&
sA
[
blockDim
.
x
];
unsigned
int
totalWarps
=
gridDim
.
x
*
blockDim
.
x
/
GRID
;
unsigned
int
totalWarps
=
gridDim
.
x
*
blockDim
.
x
/
GRID
;
unsigned
int
warp
=
(
blockIdx
.
x
*
blockDim
.
x
+
threadIdx
.
x
)
/
GRID
;
unsigned
int
warp
=
(
blockIdx
.
x
*
blockDim
.
x
+
threadIdx
.
x
)
/
GRID
;
...
@@ -42,7 +42,7 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
...
@@ -42,7 +42,7 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
unsigned
int
end
=
(
warp
+
1
)
*
numWorkUnits
/
totalWarps
;
unsigned
int
end
=
(
warp
+
1
)
*
numWorkUnits
/
totalWarps
;
float
totalEnergy
=
0
.
0
f
;
float
totalEnergy
=
0
.
0
f
;
#ifdef USE_CUTOFF
#ifdef USE_CUTOFF
float3
*
tempBuffer
=
(
float3
*
)
&
variables
[
9
*
blockDim
.
x
];
volatile
float3
*
tempBuffer
=
(
volatile
float3
*
)
&
variables
[
9
*
blockDim
.
x
];
#endif
#endif
unsigned
int
lasty
=
0xFFFFFFFF
;
unsigned
int
lasty
=
0xFFFFFFFF
;
...
@@ -58,7 +58,7 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
...
@@ -58,7 +58,7 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
unsigned
int
tgx
=
threadIdx
.
x
&
(
GRID
-
1
);
unsigned
int
tgx
=
threadIdx
.
x
&
(
GRID
-
1
);
unsigned
int
tbx
=
threadIdx
.
x
-
tgx
;
unsigned
int
tbx
=
threadIdx
.
x
-
tgx
;
unsigned
int
tj
=
tgx
;
unsigned
int
tj
=
tgx
;
Atom
*
psA
=
&
sA
[
tbx
];
volatile
Atom
*
psA
=
&
sA
[
tbx
];
unsigned
int
i
=
x
+
tgx
;
unsigned
int
i
=
x
+
tgx
;
apos
=
cSim
.
pPosq
[
i
];
apos
=
cSim
.
pPosq
[
i
];
float4
params
=
cSim
.
pCustomParams
[
i
];
float4
params
=
cSim
.
pCustomParams
[
i
];
...
@@ -71,7 +71,10 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
...
@@ -71,7 +71,10 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
sA
[
threadIdx
.
x
].
x
=
apos
.
x
;
sA
[
threadIdx
.
x
].
x
=
apos
.
x
;
sA
[
threadIdx
.
x
].
y
=
apos
.
y
;
sA
[
threadIdx
.
x
].
y
=
apos
.
y
;
sA
[
threadIdx
.
x
].
z
=
apos
.
z
;
sA
[
threadIdx
.
x
].
z
=
apos
.
z
;
sA
[
threadIdx
.
x
].
params
=
params
;
sA
[
threadIdx
.
x
].
params
.
x
=
params
.
x
;
sA
[
threadIdx
.
x
].
params
.
y
=
params
.
y
;
sA
[
threadIdx
.
x
].
params
.
z
=
params
.
z
;
sA
[
threadIdx
.
x
].
params
.
w
=
params
.
w
;
unsigned
int
xi
=
x
>>
GRIDBITS
;
unsigned
int
xi
=
x
>>
GRIDBITS
;
unsigned
int
cell
=
xi
+
xi
*
cSim
.
paddedNumberOfAtoms
/
GRID
-
xi
*
(
xi
+
1
)
/
2
;
unsigned
int
cell
=
xi
+
xi
*
cSim
.
paddedNumberOfAtoms
/
GRID
-
xi
*
(
xi
+
1
)
/
2
;
unsigned
int
excl
=
cSim
.
pExclusion
[
cSim
.
pExclusionIndex
[
cell
]
+
tgx
];
unsigned
int
excl
=
cSim
.
pExclusion
[
cSim
.
pExclusionIndex
[
cell
]
+
tgx
];
...
@@ -145,7 +148,10 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
...
@@ -145,7 +148,10 @@ __global__ void METHOD_NAME(kCalculateCustomNonbonded, Forces_kernel)(unsigned i
sA
[
threadIdx
.
x
].
x
=
temp
.
x
;
sA
[
threadIdx
.
x
].
x
=
temp
.
x
;
sA
[
threadIdx
.
x
].
y
=
temp
.
y
;
sA
[
threadIdx
.
x
].
y
=
temp
.
y
;
sA
[
threadIdx
.
x
].
z
=
temp
.
z
;
sA
[
threadIdx
.
x
].
z
=
temp
.
z
;
sA
[
threadIdx
.
x
].
params
=
cSim
.
pCustomParams
[
j
];
sA
[
threadIdx
.
x
].
params
.
x
=
cSim
.
pCustomParams
[
j
].
x
;
sA
[
threadIdx
.
x
].
params
.
y
=
cSim
.
pCustomParams
[
j
].
y
;
sA
[
threadIdx
.
x
].
params
.
z
=
cSim
.
pCustomParams
[
j
].
z
;
sA
[
threadIdx
.
x
].
params
.
w
=
cSim
.
pCustomParams
[
j
].
w
;
}
}
sA
[
threadIdx
.
x
].
fx
=
0
.
0
f
;
sA
[
threadIdx
.
x
].
fx
=
0
.
0
f
;
sA
[
threadIdx
.
x
].
fy
=
0
.
0
f
;
sA
[
threadIdx
.
x
].
fy
=
0
.
0
f
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment