diff options
Diffstat (limited to 'src/solvers/gpusolver.rs')
-rw-r--r-- | src/solvers/gpusolver.rs | 20 |
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![] } } |