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.rs20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/solvers/gpusolver.rs b/src/solvers/gpusolver.rs
index 69c400e..3a96568 100644
--- a/src/solvers/gpusolver.rs
+++ b/src/solvers/gpusolver.rs
@@ -1,5 +1,6 @@
use crate::permutations::PermutationGenerator;
use crate::solver::{wall_stats, IteratorSolver, Solver};
+use crate::solvers::opencl;
use crate::structs::StoneWall;
#[derive(Debug)]
@@ -16,14 +17,17 @@ impl GpuSolver {
let src =
std::fs::read_to_string("src/solvers/check.cl").expect("failed to open kernel file");
- crate::solvers::opencl::GpuSolver::launch_sevice(
- &self.masks,
- self.n,
- self.h,
- self.w,
- src.as_ref(),
- )
- .unwrap();
+ let senders =
+ opencl::GpuSolver::launch_sevice(&self.masks, self.n, self.h, self.w, 4, src.as_ref())
+ .unwrap();
+ for i in 0..12 {
+ senders[1 - i / 6]
+ .send(opencl::Job::new(vec![i as u32], self.masks[i]))
+ .unwrap();
+ }
+ loop {
+ std::thread::sleep(std::time::Duration::from_secs(5));
+ }
vec![]
}
}