mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-08-18 08:30:34 +00:00
style(compile-bridge): format GPU verifier
This commit is contained in:
parent
1feba7cdb6
commit
98532f537b
1 changed files with 64 additions and 79 deletions
|
|
@ -20,13 +20,11 @@ pub fn probe_gpu() -> anyhow::Result<GpuInfo> {
|
||||||
let instance = wgpu::Instance::default();
|
let instance = wgpu::Instance::default();
|
||||||
|
|
||||||
// Synchronous adapter probe via pollster
|
// Synchronous adapter probe via pollster
|
||||||
let adapter = pollster::block_on(instance.request_adapter(
|
let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions {
|
||||||
&wgpu::RequestAdapterOptions {
|
|
||||||
power_preference: wgpu::PowerPreference::HighPerformance,
|
power_preference: wgpu::PowerPreference::HighPerformance,
|
||||||
compatible_surface: None,
|
compatible_surface: None,
|
||||||
force_fallback_adapter: false,
|
force_fallback_adapter: false,
|
||||||
},
|
}))
|
||||||
))
|
|
||||||
.ok_or_else(|| anyhow::anyhow!("No GPU adapter found"))?;
|
.ok_or_else(|| anyhow::anyhow!("No GPU adapter found"))?;
|
||||||
|
|
||||||
let name = adapter.get_info().name.to_string();
|
let name = adapter.get_info().name.to_string();
|
||||||
|
|
@ -43,13 +41,11 @@ pub fn verify_theorems_on_gpu(
|
||||||
) -> anyhow::Result<Vec<TheoremReceipt>> {
|
) -> anyhow::Result<Vec<TheoremReceipt>> {
|
||||||
let instance = wgpu::Instance::default();
|
let instance = wgpu::Instance::default();
|
||||||
|
|
||||||
let adapter = pollster::block_on(instance.request_adapter(
|
let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions {
|
||||||
&wgpu::RequestAdapterOptions {
|
|
||||||
power_preference: wgpu::PowerPreference::HighPerformance,
|
power_preference: wgpu::PowerPreference::HighPerformance,
|
||||||
compatible_surface: None,
|
compatible_surface: None,
|
||||||
force_fallback_adapter: false,
|
force_fallback_adapter: false,
|
||||||
},
|
}))
|
||||||
))
|
|
||||||
.ok_or_else(|| anyhow::anyhow!("No GPU adapter found"))?;
|
.ok_or_else(|| anyhow::anyhow!("No GPU adapter found"))?;
|
||||||
|
|
||||||
let mut limits = wgpu::Limits::default();
|
let mut limits = wgpu::Limits::default();
|
||||||
|
|
@ -154,14 +150,13 @@ pub fn verify_theorems_on_gpu(
|
||||||
// ── Shader module ─────────────────────────────────────────────────
|
// ── Shader module ─────────────────────────────────────────────────
|
||||||
let shader = device.create_shader_module(wgpu::ShaderModuleDescriptor {
|
let shader = device.create_shader_module(wgpu::ShaderModuleDescriptor {
|
||||||
label: Some("Compile Bridge Shader"),
|
label: Some("Compile Bridge Shader"),
|
||||||
source: wgpu::ShaderSource::Wgsl(Cow::Borrowed(
|
source: wgpu::ShaderSource::Wgsl(Cow::Borrowed(include_str!(
|
||||||
include_str!("shaders/compile_bridge.wgsl"),
|
"shaders/compile_bridge.wgsl"
|
||||||
)),
|
))),
|
||||||
});
|
});
|
||||||
|
|
||||||
// ── Bind group layout ─────────────────────────────────────────────
|
// ── Bind group layout ─────────────────────────────────────────────
|
||||||
let bind_group_layout =
|
let bind_group_layout = device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor {
|
||||||
device.create_bind_group_layout(&wgpu::BindGroupLayoutDescriptor {
|
|
||||||
label: None,
|
label: None,
|
||||||
entries: &[
|
entries: &[
|
||||||
// binding 0: test vectors (read)
|
// binding 0: test vectors (read)
|
||||||
|
|
@ -235,9 +230,8 @@ pub fn verify_theorems_on_gpu(
|
||||||
});
|
});
|
||||||
|
|
||||||
// ── Dispatch ──────────────────────────────────────────────────────
|
// ── Dispatch ──────────────────────────────────────────────────────
|
||||||
let mut encoder = device.create_command_encoder(&wgpu::CommandEncoderDescriptor {
|
let mut encoder =
|
||||||
label: None,
|
device.create_command_encoder(&wgpu::CommandEncoderDescriptor { label: None });
|
||||||
});
|
|
||||||
|
|
||||||
{
|
{
|
||||||
let mut compute_pass = encoder.begin_compute_pass(&wgpu::ComputePassDescriptor {
|
let mut compute_pass = encoder.begin_compute_pass(&wgpu::ComputePassDescriptor {
|
||||||
|
|
@ -253,13 +247,7 @@ pub fn verify_theorems_on_gpu(
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy results to staging
|
// Copy results to staging
|
||||||
encoder.copy_buffer_to_buffer(
|
encoder.copy_buffer_to_buffer(&results_buffer, 0, &staging_buffer, 0, staging_size);
|
||||||
&results_buffer,
|
|
||||||
0,
|
|
||||||
&staging_buffer,
|
|
||||||
0,
|
|
||||||
staging_size,
|
|
||||||
);
|
|
||||||
|
|
||||||
queue.submit(Some(encoder.finish()));
|
queue.submit(Some(encoder.finish()));
|
||||||
|
|
||||||
|
|
@ -306,10 +294,7 @@ pub fn verify_theorems_on_gpu(
|
||||||
if passed {
|
if passed {
|
||||||
eprintln!(" ✓ {} passed ({} vectors)", name, total);
|
eprintln!(" ✓ {} passed ({} vectors)", name, total);
|
||||||
} else {
|
} else {
|
||||||
eprintln!(
|
eprintln!(" ✗ {} FAILED ({}/{} vectors failed)", name, failed, total);
|
||||||
" ✗ {} FAILED ({}/{} vectors failed)",
|
|
||||||
name, failed, total
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue