summaryrefslogtreecommitdiff
path: root/src/solvers/gpusolver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvers/gpusolver.rs')
-rw-r--r--src/solvers/gpusolver.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/solvers/gpusolver.rs b/src/solvers/gpusolver.rs
index 41de7e7..3bf8429 100644
--- a/src/solvers/gpusolver.rs
+++ b/src/solvers/gpusolver.rs
@@ -1,5 +1,5 @@
use crate::permutations::PermutationGenerator;
-use crate::solvers::{opencl, wall_stats, IteratorSolver, Solver};
+use crate::solvers::{gpu, wall_stats, IteratorSolver, Solver};
use crate::structs::StoneWall;
#[derive(Debug)]
@@ -16,12 +16,15 @@ impl GpuSolver {
let src =
std::fs::read_to_string("src/solvers/check.cl").expect("failed to open kernel file");
- let senders =
- opencl::GpuSolver::launch_sevice(&self.masks, self.n, self.h, self.w, 4, src.as_ref())
- .unwrap();
+ let (sender, handle) =
+ gpu::OclManager::launch_sevice(&self.permutations, &self.masks, self.n, 4);
for i in 0..12 {
- senders[1 - i / 6]
- .send(opencl::Job::new(vec![i as u32], self.masks[i]))
+ sender
+ .send(gpu::Message::CheckRequest(gpu::CheckRequest::new(
+ vec![i as u32],
+ self.masks[i],
+ 1 - i as u32 / 6,
+ )))
.unwrap();
}
loop {