From 31c1518394f4b1e426382f39e311688e9390d746 Mon Sep 17 00:00:00 2001 From: chemardes Date: Thu, 24 Apr 2025 23:02:47 +0100 Subject: [PATCH] FEATURE: minor changes --- GPUSolver/gpu/gbm_parallel.cuh | 5 +++-- pdesolvers/optionspricing/monte_carlo.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/GPUSolver/gpu/gbm_parallel.cuh b/GPUSolver/gpu/gbm_parallel.cuh index 31f5692..590613f 100644 --- a/GPUSolver/gpu/gbm_parallel.cuh +++ b/GPUSolver/gpu/gbm_parallel.cuh @@ -130,20 +130,21 @@ public: template SimulationResults simulate(T initial_stock_price, T mu, T sigma, T time, int num_of_simulations, int time_steps) { - auto start = std::chrono::high_resolution_clock::now(); size_t grid_size = num_of_simulations * time_steps; T *dev_grid; gpuErrChk(cudaMalloc(&dev_grid, grid_size * sizeof(T))); + auto start = std::chrono::high_resolution_clock::now(); simulate_gbm<<>>(dev_grid, initial_stock_price, mu, sigma, time, time_steps, num_of_simulations); gpuErrChk(cudaDeviceSynchronize()); auto end = std::chrono::high_resolution_clock::now(); + auto duration = std::chrono::duration_cast(end - start); SimulationResults sol(dev_grid, num_of_simulations, time_steps); - sol.m_duration = (double) duration.count() / 1e6; + sol.m_duration = (double) duration.count() / 1e6 ; return sol; } diff --git a/pdesolvers/optionspricing/monte_carlo.py b/pdesolvers/optionspricing/monte_carlo.py index 749b2d8..a6c4504 100644 --- a/pdesolvers/optionspricing/monte_carlo.py +++ b/pdesolvers/optionspricing/monte_carlo.py @@ -241,7 +241,7 @@ def plot_convergence_analysis(self, analytical_solution, num_simulations_list=No if num_simulations_list is None: raise ValueError("Number of simulations need to be defined.") - errors = self.get_benchmark_errors(analytical_solution, num_simulations_list) + errors = self.get_benchmark_errors(analytical_solution, num_simulations_list, export=export) plt.rcParams['font.family'] = 'monospace' plt.rcParams['font.size'] = 10