Stabilize GPU buffer lifecycle around regrid
This commit is contained in:
@@ -9,8 +9,11 @@
|
||||
#include <new>
|
||||
using namespace std;
|
||||
|
||||
#include "Block.h"
|
||||
#include "misc.h"
|
||||
#include "Block.h"
|
||||
#include "misc.h"
|
||||
#ifdef USE_GPU
|
||||
#include "bssn_gpu.h"
|
||||
#endif
|
||||
|
||||
Block::Block(int DIM, int *shapei, double *bboxi, int ranki, int ingfsi, int fngfsi, int levi, const int cgpui) : rank(ranki), ingfs(ingfsi), fngfs(fngfsi), lev(levi), cgpu(cgpui)
|
||||
{
|
||||
@@ -95,14 +98,17 @@ Block::Block(int DIM, int *shapei, double *bboxi, int ranki, int ingfsi, int fng
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Block::~Block()
|
||||
{
|
||||
int myrank;
|
||||
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
|
||||
if (myrank == rank)
|
||||
{
|
||||
for (int i = 0; i < dim; i++)
|
||||
delete[] X[i];
|
||||
Block::~Block()
|
||||
{
|
||||
int myrank;
|
||||
MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
|
||||
if (myrank == rank)
|
||||
{
|
||||
#ifdef USE_GPU
|
||||
bssn_gpu_clear_cached_device_buffers();
|
||||
#endif
|
||||
for (int i = 0; i < dim; i++)
|
||||
delete[] X[i];
|
||||
for (int i = 0; i < ingfs; i++)
|
||||
free(igfs[i]);
|
||||
delete[] igfs;
|
||||
|
||||
Reference in New Issue
Block a user