Figuring out compilations.
This commit is contained in:
@@ -20,9 +20,12 @@
|
|||||||
uniform int AC_max_steps;
|
uniform int AC_max_steps;
|
||||||
uniform int AC_save_steps;
|
uniform int AC_save_steps;
|
||||||
uniform int AC_bin_steps;
|
uniform int AC_bin_steps;
|
||||||
uniform int AC_bc_type;
|
|
||||||
uniform int AC_start_step;
|
uniform int AC_start_step;
|
||||||
|
|
||||||
|
// In3 params
|
||||||
|
uniform int3 AC_bc_type_bot;
|
||||||
|
uniform int3 AC_bc_type_top;
|
||||||
|
|
||||||
// Real params
|
// Real params
|
||||||
uniform Scalar AC_dt;
|
uniform Scalar AC_dt;
|
||||||
uniform Scalar AC_max_time;
|
uniform Scalar AC_max_time;
|
||||||
|
@@ -304,7 +304,13 @@ AcResult acGridStoreMesh(const Stream stream, AcMesh* host_mesh);
|
|||||||
AcResult acGridIntegrate(const Stream stream, const AcReal dt);
|
AcResult acGridIntegrate(const Stream stream, const AcReal dt);
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
|
/* MV: Commented out for a while, but save for the future when standalone_MPI
|
||||||
|
works with periodic boundary conditions.
|
||||||
|
AcResult
|
||||||
|
acGridIntegrateNonperiodic(const Stream stream, const AcReal dt)
|
||||||
|
|
||||||
AcResult acGridIntegrateNonperiodic(const Stream stream, const AcReal dt);
|
AcResult acGridIntegrateNonperiodic(const Stream stream, const AcReal dt);
|
||||||
|
*/
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
AcResult acGridPeriodicBoundconds(const Stream stream);
|
AcResult acGridPeriodicBoundconds(const Stream stream);
|
||||||
|
@@ -1907,6 +1907,8 @@ acGridIntegrate(const Stream stream, const AcReal dt)
|
|||||||
return AC_SUCCESS;
|
return AC_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* MV: Commented out for a while, but save for the future when standalone_MPI
|
||||||
|
works with periodic boundary conditions.
|
||||||
AcResult
|
AcResult
|
||||||
acGridIntegrateNonperiodic(const Stream stream, const AcReal dt)
|
acGridIntegrateNonperiodic(const Stream stream, const AcReal dt)
|
||||||
{
|
{
|
||||||
@@ -2130,6 +2132,8 @@ acGridIntegrateNonperiodic(const Stream stream, const AcReal dt)
|
|||||||
return AC_SUCCESS;
|
return AC_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
AcResult
|
AcResult
|
||||||
acGridPeriodicBoundconds(const Stream stream)
|
acGridPeriodicBoundconds(const Stream stream)
|
||||||
|
@@ -1,5 +1,9 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
// Temporary defines untils we can figure out smarter swithches.
|
||||||
|
#define BOUNDCOND_SYM 1
|
||||||
|
#define BOUNDCOND_ASYM 2
|
||||||
|
|
||||||
static __global__ void
|
static __global__ void
|
||||||
kernel_symmetric_boundconds(const int3 start, const int3 end, AcReal* vtxbuf, const int3 bindex, const int sign)
|
kernel_symmetric_boundconds(const int3 start, const int3 end, AcReal* vtxbuf, const int3 bindex, const int sign)
|
||||||
{
|
{
|
||||||
@@ -134,19 +138,19 @@ acKernelPeriodicBoundconds(const cudaStream_t stream, const int3 start, const in
|
|||||||
|
|
||||||
AcResult
|
AcResult
|
||||||
acKernelGeneralBoundconds(const cudaStream_t stream, const int3 start, const int3 end,
|
acKernelGeneralBoundconds(const cudaStream_t stream, const int3 start, const int3 end,
|
||||||
AcReal* vtxbuf, const int bindex);
|
AcReal* vtxbuf, const int3 bindex)
|
||||||
{
|
{
|
||||||
const dim3 tpb(8, 2, 8);
|
const dim3 tpb(8, 2, 8);
|
||||||
const dim3 bpg((unsigned int)ceil((end.x - start.x) / (float)tpb.x),
|
const dim3 bpg((unsigned int)ceil((end.x - start.x) / (float)tpb.x),
|
||||||
(unsigned int)ceil((end.y - start.y) / (float)tpb.y),
|
(unsigned int)ceil((end.y - start.y) / (float)tpb.y),
|
||||||
(unsigned int)ceil((end.z - start.z) / (float)tpb.z));
|
(unsigned int)ceil((end.z - start.z) / (float)tpb.z));
|
||||||
|
|
||||||
if (DCONST(AC_bype) == BOUNDCOND_SYM)
|
if (DCONST(AC_bc_type) == BOUNDCOND_SYM)
|
||||||
{
|
{
|
||||||
kernel_symmetric_boundconds<<<bpg, tpb, 0, stream>>>(start, end, vtxbuf, bindex, 1);
|
kernel_symmetric_boundconds<<<bpg, tpb, 0, stream>>>(start, end, vtxbuf, bindex, 1);
|
||||||
ERRCHK_CUDA_KERNEL();
|
ERRCHK_CUDA_KERNEL();
|
||||||
}
|
}
|
||||||
else if (DCONST(AC_bype) == BOUNDCOND_ASYM)
|
else if (DCONST(AC_bc_type) == BOUNDCOND_ASYM)
|
||||||
{
|
{
|
||||||
kernel_symmetric_boundconds<<<bpg, tpb, 0, stream>>>(start, end, vtxbuf, bindex, -1);
|
kernel_symmetric_boundconds<<<bpg, tpb, 0, stream>>>(start, end, vtxbuf, bindex, -1);
|
||||||
ERRCHK_CUDA_KERNEL();
|
ERRCHK_CUDA_KERNEL();
|
||||||
|
Reference in New Issue
Block a user