mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
use std::vector for val_pointers
This commit is contained in:
parent
2b0508af8b
commit
4a1fb0b86a
@ -62,10 +62,6 @@ WellContributions::~WellContributions()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(num_std_wells > 0){
|
|
||||||
delete[] val_pointers;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if HAVE_OPENCL
|
#if HAVE_OPENCL
|
||||||
if(opencl_gpu){
|
if(opencl_gpu){
|
||||||
if(num_ms_wells > 0){
|
if(num_ms_wells > 0){
|
||||||
@ -181,7 +177,7 @@ void WellContributions::addMatrix([[maybe_unused]] MatrixType type, [[maybe_unus
|
|||||||
if (num_std_wells_so_far == num_std_wells - 1) {
|
if (num_std_wells_so_far == num_std_wells - 1) {
|
||||||
val_pointers[num_std_wells] = num_blocks;
|
val_pointers[num_std_wells] = num_blocks;
|
||||||
events.resize(1);
|
events.resize(1);
|
||||||
queue->enqueueWriteBuffer(*d_val_pointers_ocl, CL_FALSE, 0, sizeof(unsigned int) * (num_std_wells + 1), val_pointers, nullptr, &events[0]);
|
queue->enqueueWriteBuffer(*d_val_pointers_ocl, CL_FALSE, 0, sizeof(unsigned int) * (num_std_wells + 1), val_pointers.data(), nullptr, &events[0]);
|
||||||
events[0].wait();
|
events[0].wait();
|
||||||
events.clear();
|
events.clear();
|
||||||
}
|
}
|
||||||
@ -227,7 +223,7 @@ void WellContributions::addNumBlocks(unsigned int numBlocks)
|
|||||||
void WellContributions::alloc()
|
void WellContributions::alloc()
|
||||||
{
|
{
|
||||||
if (num_std_wells > 0) {
|
if (num_std_wells > 0) {
|
||||||
val_pointers = new unsigned int[num_std_wells + 1];
|
val_pointers.resize(num_std_wells+1);
|
||||||
|
|
||||||
#if HAVE_CUDA
|
#if HAVE_CUDA
|
||||||
if(cuda_gpu){
|
if(cuda_gpu){
|
||||||
|
@ -210,7 +210,7 @@ void WellContributions::addMatrixGpu(MatrixType type, int *colIndices, double *v
|
|||||||
val_pointers[num_std_wells_so_far] = num_blocks_so_far;
|
val_pointers[num_std_wells_so_far] = num_blocks_so_far;
|
||||||
if (num_std_wells_so_far == num_std_wells - 1) {
|
if (num_std_wells_so_far == num_std_wells - 1) {
|
||||||
val_pointers[num_std_wells] = num_blocks;
|
val_pointers[num_std_wells] = num_blocks;
|
||||||
cudaMemcpy(d_val_pointers, val_pointers, sizeof(unsigned int) * (num_std_wells + 1), cudaMemcpyHostToDevice);
|
cudaMemcpy(d_val_pointers, val_pointers.data(), sizeof(unsigned int) * (num_std_wells + 1), cudaMemcpyHostToDevice);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -86,7 +86,7 @@ private:
|
|||||||
unsigned int num_ms_wells = 0; // number of MultisegmentWells in this object, must equal multisegments.size()
|
unsigned int num_ms_wells = 0; // number of MultisegmentWells in this object, must equal multisegments.size()
|
||||||
unsigned int num_blocks_so_far = 0; // keep track of where next data is written
|
unsigned int num_blocks_so_far = 0; // keep track of where next data is written
|
||||||
unsigned int num_std_wells_so_far = 0; // keep track of where next data is written
|
unsigned int num_std_wells_so_far = 0; // keep track of where next data is written
|
||||||
unsigned int *val_pointers = nullptr; // val_pointers[wellID] == index of first block for this well in Ccols and Bcols
|
std::vector<unsigned int> val_pointers; // val_pointers[wellID] == index of first block for this well in Ccols and Bcols
|
||||||
|
|
||||||
double *h_x = nullptr;
|
double *h_x = nullptr;
|
||||||
double *h_y = nullptr;
|
double *h_y = nullptr;
|
||||||
|
Loading…
Reference in New Issue
Block a user