Skip to content

Commit

Permalink
clean up
Browse files Browse the repository at this point in the history
  • Loading branch information
qinatan committed Aug 28, 2023
1 parent a90de3c commit bbfd942
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 55 deletions.
15 changes: 3 additions & 12 deletions include/micm/process/cuda_process_set.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace micm
namespace cuda
{
std::chrono::nanoseconds AddForcingTermsKernelDriver(
micm::CUDAMatrixParam& matrixParam,
CUDAMatrixParam& matrixParam,
const size_t* number_of_reactants,
const size_t* reactant_ids,
size_t reactant_ids_size,
Expand All @@ -17,16 +17,7 @@ namespace micm
size_t yields_size);

std::chrono::nanoseconds AddJacobianTermsKernelDriver(
micm::CUDAMatrixParam& matrixParam,
CUDAProcessSetParam& processSet
// const size_t* number_of_reactants,
// const size_t* reactant_ids,
// size_t reactant_ids_size,
// const size_t* number_of_products,
// const double* yields,
// size_t yields_size,
// const size_t* jacobian_flat_ids,
// size_t jacobian_flat_ids_size
);
CUDAMatrixParam& matrixParam,
CUDAProcessSetParam& processSet);
} // namespace cuda
} // namespace micm
17 changes: 4 additions & 13 deletions include/micm/process/cuda_process_set.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ namespace micm
const MatrixPolicy<double>& state_variables,
MatrixPolicy<double>& forcing) const
{
micm::CUDAMatrixParam matrixParam;

CUDAMatrixParam matrixParam;
matrixParam.rate_constants_ = rate_constants.AsVector().data();
matrixParam.state_variables_ = state_variables.AsVector().data();
matrixParam.forcing_ = forcing.AsVector().data();
Expand All @@ -80,14 +79,15 @@ namespace micm
const MatrixPolicy<double>& state_variables,
SparseMatrixPolicy<double>& jacobian) const
{
micm::CUDAMatrixParam matrixParam;
CUDAMatrixParam matrixParam;
matrixParam.rate_constants_ = rate_constants.AsVector().data();
matrixParam.state_variables_ = state_variables.AsVector().data();
matrixParam.jacobian_= jacobian.AsVector().data();
matrixParam.n_grids_ = rate_constants.size();
matrixParam.n_reactions_ = rate_constants[0].size();
matrixParam.n_species_ = state_variables[0].size();
matrixParam.jacobian_size_ = jacobian.AsVector().size();

CUDAProcessSetParam processSet;
processSet.number_of_reactants = number_of_reactants_.data();
processSet.reactant_ids = reactant_ids_.data();
Expand All @@ -100,16 +100,7 @@ namespace micm

std::chrono::nanoseconds kernel_duration = micm::cuda::AddJacobianTermsKernelDriver(
matrixParam,
processSet
// number_of_reactants_.data(),
// reactant_ids_.data(),
// reactant_ids_.size(),
// number_of_products_.data(),
// yields_.data(),
// yields_.size(),
// jacobian_flat_ids_.data(),
// jacobian_flat_ids_.size()
);
processSet);
return kernel_duration; // time performance of kernel function
}
} // namespace micm
Expand Down
28 changes: 12 additions & 16 deletions include/micm/util/cuda_matrix_param.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
#pragma once
#include <vector>

struct CUDAProcessSetParam{
const size_t* number_of_reactants;
Expand All @@ -13,17 +11,15 @@
const size_t* jacobian_flat_ids;
size_t jacobian_flat_ids_size;
};
namespace micm{
class CUDAMatrixParam{
public:
const double* rate_constants_;
const double* state_variables_;
double* forcing_;
double* jacobian_;
size_t n_grids_;
size_t n_reactions_;
size_t n_species_;
size_t jacobian_size_;
CUDAMatrixParam(){};
}; //end class
}//end micm

struct CUDAMatrixParam{
const double* rate_constants_;
const double* state_variables_;
double* forcing_;
double* jacobian_;
size_t n_grids_;
size_t n_reactions_;
size_t n_species_;
size_t jacobian_size_;
};

17 changes: 3 additions & 14 deletions src/process/process_set.cu
Original file line number Diff line number Diff line change
Expand Up @@ -110,18 +110,8 @@ namespace micm
} // end of AddJacobianTerms_kernel

std::chrono::nanoseconds AddJacobianTermsKernelDriver(
micm::CUDAMatrixParam& matrixParam,
CUDAProcessSetParam& processSet

// const size_t* number_of_reactants,
// const size_t* reactant_ids,
// size_t reactant_ids_size,
// const size_t* number_of_products,
// const double* yields,
// size_t yields_size,
// const size_t* jacobian_flat_ids,
// size_t jacobian_flat_ids_size
)
CUDAMatrixParam& matrixParam,
CUDAProcessSetParam& processSet)
{
// create device pointers
double* d_rate_constants;
Expand Down Expand Up @@ -197,7 +187,7 @@ namespace micm
} // end of AddJacobian_kernelSetup

std::chrono::nanoseconds AddForcingTermsKernelDriver(
micm::CUDAMatrixParam& matrixParam,
CUDAMatrixParam& matrixParam,
const size_t* number_of_reactants,
const size_t* reactant_ids,
size_t reactant_ids_size,
Expand All @@ -218,7 +208,6 @@ namespace micm
size_t* d_product_ids_;

// allocate device memory

cudaMalloc(&d_rate_constants, sizeof(double) * (matrixParam.n_grids_ * matrixParam.n_reactions_));
cudaMalloc(&d_state_variables, sizeof(double) * (matrixParam.n_grids_ * matrixParam.n_species_));
cudaMalloc(&d_forcing, sizeof(double) * (matrixParam.n_grids_ * matrixParam.n_species_));
Expand Down

0 comments on commit bbfd942

Please sign in to comment.