kernelParams_.pbcAiuc = pbcAiuc;
launchLincsGpuKernel(
- kernelParams_, d_x, d_xp, updateVelocities, d_v, invdt, computeVirial, deviceStream_);
+ &kernelParams_, d_x, d_xp, updateVelocities, d_v, invdt, computeVirial, deviceStream_);
if (computeVirial)
{
return kernelPtr;
}
-void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams,
+void launchLincsGpuKernel(LincsGpuKernelParameters* kernelParams,
const DeviceBuffer<Float3>& d_x,
DeviceBuffer<Float3> d_xp,
const bool updateVelocities,
config.blockSize[0] = c_threadsPerBlock;
config.blockSize[1] = 1;
config.blockSize[2] = 1;
- config.gridSize[0] = (kernelParams.numConstraintsThreads + c_threadsPerBlock - 1) / c_threadsPerBlock;
+ config.gridSize[0] = (kernelParams->numConstraintsThreads + c_threadsPerBlock - 1) / c_threadsPerBlock;
config.gridSize[1] = 1;
config.gridSize[2] = 1;
const auto kernelArgs = prepareGpuKernelArguments(kernelPtr,
config,
- &kernelParams,
+ kernelParams,
asFloat3Pointer(&d_x),
asFloat3Pointer(&d_xp),
asFloat3Pointer(&d_v),
}
-void launchLincsGpuKernel(LincsGpuKernelParameters& kernelParams,
+void launchLincsGpuKernel(LincsGpuKernelParameters* kernelParams,
const DeviceBuffer<Float3>& d_x,
DeviceBuffer<Float3> d_xp,
const bool updateVelocities,
launchLincsKernel(updateVelocities,
computeVirial,
- kernelParams.haveCoupledConstraints,
+ kernelParams->haveCoupledConstraints,
deviceStream,
- kernelParams.numConstraintsThreads,
- kernelParams.d_constraints,
- kernelParams.d_constraintsTargetLengths,
- kernelParams.d_coupledConstraintsCounts,
- kernelParams.d_coupledConstraintsIndices,
- kernelParams.d_massFactors,
- kernelParams.d_matrixA,
- kernelParams.d_inverseMasses,
- kernelParams.numIterations,
- kernelParams.expansionOrder,
+ kernelParams->numConstraintsThreads,
+ kernelParams->d_constraints,
+ kernelParams->d_constraintsTargetLengths,
+ kernelParams->d_coupledConstraintsCounts,
+ kernelParams->d_coupledConstraintsIndices,
+ kernelParams->d_massFactors,
+ kernelParams->d_matrixA,
+ kernelParams->d_inverseMasses,
+ kernelParams->numIterations,
+ kernelParams->expansionOrder,
d_x,
d_xpAsFloat,
invdt,
d_vAsFloat,
- kernelParams.d_virialScaled,
- kernelParams.pbcAiuc);
+ kernelParams->d_virialScaled,
+ kernelParams->pbcAiuc);
return;
}