Skip to content

Commit

Permalink
Merge pull request #9 from vini-fda/fix-cg-steps
Browse files Browse the repository at this point in the history
Fix CG performance
  • Loading branch information
vini-fda authored Jul 9, 2023
2 parents db56577 + 873df51 commit db3a98b
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "heat-wgpu"
version = "0.2.1"
version = "0.2.2"
edition = "2021"

[dependencies]
Expand Down
9 changes: 2 additions & 7 deletions src/conjugate_gradient.rs
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ impl CG {
pub fn run(&self, device: &wgpu::Device, queue: &wgpu::Queue) {
let CGBuffers { r, p, .. } = self.buffers.as_ref();
let mut encoder = device.create_command_encoder(&wgpu::CommandEncoderDescriptor {
label: Some("CG - initialization"),
label: Some("Conjugate Gradient"),
});
// Initialize r = b - A * x
let cdescriptor = wgpu::ComputePassDescriptor { label: None };
Expand All @@ -115,20 +115,15 @@ impl CG {
}
drop(compute_pass);
encoder.copy_buffer_to_buffer(r, 0, p, 0, r.size());
queue.submit(Some(encoder.finish()));
// describes all the stages in a single iteration of the CG algorithm
for _ in 0..self.max_steps {
let mut encoder = device.create_command_encoder(&wgpu::CommandEncoderDescriptor {
label: Some("CG - iteration step"),
});
let mut compute_pass =
encoder.begin_compute_pass(&wgpu::ComputePassDescriptor { label: None });
for s in self.stages.iter() {
s.add_to_pass(&mut compute_pass);
}
drop(compute_pass);
queue.submit(Some(encoder.finish()));
}
queue.submit(Some(encoder.finish()));
}
}

Expand Down

0 comments on commit db3a98b

Please sign in to comment.