app: buffer_proto5: increase fps by setting steps_per_stim
the bottleneck seems mostly to be transferring data CPU <-> GPU. boosting to 200 steps per stim gets us like 50 fps, but causes serious CPU-side lag.
This commit is contained in:
@@ -415,7 +415,7 @@ fn run_sim(id: u32, p: Params, g: Geometries) -> Results {
|
|||||||
let mut driver = Driver::new(SpirvSim::<f32, Mat, WgpuBackend>::new(
|
let mut driver = Driver::new(SpirvSim::<f32, Mat, WgpuBackend>::new(
|
||||||
g.dim.to_index(p.geom.feat_size), p.geom.feat_size
|
g.dim.to_index(p.geom.feat_size), p.geom.feat_size
|
||||||
));
|
));
|
||||||
if !driver.add_state_file(&*format!("{}/state.bc", prefix), 16000) {
|
if !driver.add_state_file(&*format!("{}/state.bc", prefix), 4000) {
|
||||||
// mu_r=881.33, starting at H=25 to H=75.
|
// mu_r=881.33, starting at H=25 to H=75.
|
||||||
let ferro_mat = mat::Ferroxcube3R1MH::new();
|
let ferro_mat = mat::Ferroxcube3R1MH::new();
|
||||||
// let ferro_mat = mat::db::conductor(wire_conductivity);
|
// let ferro_mat = mat::db::conductor(wire_conductivity);
|
||||||
@@ -528,8 +528,9 @@ fn run_sim(id: u32, p: Params, g: Geometries) -> Results {
|
|||||||
driver.add_csv_renderer(&*meas_csv, 400, None);
|
driver.add_csv_renderer(&*meas_csv, 400, None);
|
||||||
driver.add_csv_renderer(&*meas_sparse_csv, 8000, None);
|
driver.add_csv_renderer(&*meas_sparse_csv, 8000, None);
|
||||||
|
|
||||||
|
driver.set_steps_per_stimulus(20);
|
||||||
driver.step_until(duration);
|
driver.step_until(duration);
|
||||||
|
|
||||||
let (m1_peak, m1_stable) = significa(CsvRenderer::new(&*meas_sparse_csv).read_column_as_f32("M(mem1)"));
|
let (m1_peak, m1_stable) = significa(CsvRenderer::new(&*meas_sparse_csv).read_column_as_f32("M(mem1)"));
|
||||||
let (m2_peak, m2_stable) = significa(CsvRenderer::new(&*meas_sparse_csv).read_column_as_f32("M(mem2)"));
|
let (m2_peak, m2_stable) = significa(CsvRenderer::new(&*meas_sparse_csv).read_column_as_f32("M(mem2)"));
|
||||||
let (h1_peak, h1_stable) = significa(CsvRenderer::new(&*meas_sparse_csv).read_column_as_f32("H(mem1)"));
|
let (h1_peak, h1_stable) = significa(CsvRenderer::new(&*meas_sparse_csv).read_column_as_f32("H(mem1)"));
|
||||||
|
Reference in New Issue
Block a user