Skip to content

Commit

Permalink
skip benchmark with GNU error
Browse files Browse the repository at this point in the history
  • Loading branch information
officialasishkumar committed Jun 28, 2024
1 parent 14f29ad commit bc2628e
Show file tree
Hide file tree
Showing 6 changed files with 35 additions and 30 deletions.
19 changes: 19 additions & 0 deletions benchmarks/benchmark_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -394,3 +394,22 @@ def geometry(self):
v_inner=np.array([-1, -1], dtype=np.float64),
v_outer=np.array([-1, -1], dtype=np.float64),
)


@property
def estimators(self):
return radfield_mc_estimators.RadiationFieldMCEstimators(
j_estimator=np.array([0.0, 0.0], dtype=np.float64),
nu_bar_estimator=np.array([0.0, 0.0], dtype=np.float64),
j_blue_estimator=np.array(
[[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]], dtype=np.float64
),
Edotlu_estimator=np.array(
[[0.0, 0.0, 1.0], [0.0, 0.0, 1.0]], dtype=np.float64
),
photo_ion_estimator=np.empty((0, 0), dtype=np.float64),
stim_recomb_estimator=np.empty((0, 0), dtype=np.float64),
bf_heating_estimator=np.empty((0, 0), dtype=np.float64),
stim_recomb_cooling_estimator=np.empty((0, 0), dtype=np.float64),
photo_ion_estimator_statistics=np.empty((0, 0), dtype=np.int64),
)
10 changes: 2 additions & 8 deletions benchmarks/run_tardis.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

from benchmarks.benchmark_base import BenchmarkBase
from tardis import run_tardis
from tardis.io.configuration.config_reader import Configuration


class BenchmarkRunTardis(BenchmarkBase):
"""
Expand All @@ -14,12 +12,8 @@ class BenchmarkRunTardis(BenchmarkBase):

def __init__(self):
super().__init__()
self.config = None

def setup(self):
filename = "data/tardis_configv1_benchmark.yml"
path = self.get_relative_path(filename)
self.config = Configuration.from_yaml(path)
self.path = self.get_relative_path(filename)

def time_run_tardis(self):
run_tardis(self.config, log_level="ERROR", show_progress_bars=False)
run_tardis(self.path, log_level="ERROR", show_progress_bars=False)
11 changes: 9 additions & 2 deletions benchmarks/transport_montecarlo_numba_formal_integral_p.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
from tardis.io.configuration.config_reader import Configuration
from tardis.model.geometry.radial1d import NumbaRadial1DGeometry


# Error in all functions: Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
@skip_benchmark
class BenchmarkMontecarloMontecarloNumbaNumbaFormalIntegral(BenchmarkBase):
"""
Class to benchmark the numba formal integral function.
Expand Down Expand Up @@ -106,6 +107,8 @@ def time_explosion(self):
# time taken for a photon to move 1 cm
return 1 / c.c.cgs.value

# Error: Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
@skip_benchmark
@parameterize({"p": [0.0, 0.5, 1.0], "Test data": TESTDATA})
def time_calculate_z(self, p, test_data):
func = formal_integral.calculate_z
Expand Down Expand Up @@ -159,6 +162,8 @@ def time_populate_z_shells(self, p, test_data) -> None:
oshell_id,
)

# Error: Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
@skip_benchmark
@parameterize(
{
"Parameters": [
Expand All @@ -174,13 +179,15 @@ def time_calculate_p_values(self, Parameters):

# Benchmark for functions in FormalIntegrator class

# Error: Terminating: fork() called from a process already using GNU OpenMP, this is unsafe.
@skip_benchmark
def time_FormalIntegrator_functions(self):
self.FormalIntegrator.calculate_spectrum(
self.Simulation.transport.transport_state.spectrum.frequency
)
self.FormalIntegrator.make_source_function()
self.FormalIntegrator.generate_numba_objects()
self.FormalIntegrator.formal_integral(
self.Simulation.transport.transport_state.spectrum.frequency,
self.Simulation.transport.transport_state.spectrum.frequency,
1000
)
18 changes: 0 additions & 18 deletions benchmarks/transport_montecarlo_packet.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,6 @@ class BenchmarkMontecarloMontecarloNumbaPacket(BenchmarkBase):
Class to benchmark the numba packet function.
"""

@property
def estimators(self):
return radfield_mc_estimators.RadiationFieldMCEstimators(
j_estimator=np.array([0.0, 0.0], dtype=np.float64),
nu_bar_estimator=np.array([0.0, 0.0], dtype=np.float64),
j_blue_estimator=np.array(
[[0.0, 0.0, 0.0], [0.0, 0.0, 0.0]], dtype=np.float64
),
Edotlu_estimator=np.array(
[[0.0, 0.0, 1.0], [0.0, 0.0, 1.0]], dtype=np.float64
),
photo_ion_estimator=np.empty((0, 0), dtype=np.float64),
stim_recomb_estimator=np.empty((0, 0), dtype=np.float64),
bf_heating_estimator=np.empty((0, 0), dtype=np.float64),
stim_recomb_cooling_estimator=np.empty((0, 0), dtype=np.float64),
photo_ion_estimator_statistics=np.empty((0, 0), dtype=np.int64),
)

@parameterize(
{
"Parameters": [
Expand Down
4 changes: 3 additions & 1 deletion benchmarks/transport_montecarlo_single_packet_loop.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,22 @@

from benchmarks.benchmark_base import BenchmarkBase
from tardis.transport.montecarlo import single_packet_loop
from asv_runner.benchmarks.mark import skip_benchmark


class BenchmarkMontecarloMontecarloNumbaVpacket(BenchmarkBase):
"""
Class to benchmark the single packet loop function.
"""

@skip_benchmark
def time_single_packet_loop(self):
single_packet_loop.single_packet_loop(
self.packet,
self.verysimple_numba_radial_1d_geometry,
self.verysimple_time_explosion,
self.verysimple_opacity_state,
self.verysimple_radfield_mc_estimators,
self.estimators,
self.verysimple_packet_collection,
self.rpacket_tracker,
self.montecarlo_configuration
Expand Down
3 changes: 2 additions & 1 deletion benchmarks/transport_montecarlo_vpacket.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"""

import numpy as np
from asv_runner.benchmarks.mark import parameterize
from asv_runner.benchmarks.mark import parameterize, skip_benchmark

import tardis.transport.montecarlo.vpacket as vpacket
from benchmarks.benchmark_base import BenchmarkBase
Expand Down Expand Up @@ -144,6 +144,7 @@ def time_trace_bad_vpacket(self):
continuum_processes_enabled,
)

@skip_benchmark
@parameterize(
{
"Paramters": [
Expand Down

0 comments on commit bc2628e

Please sign in to comment.