diff options
author | Dennis Kobert <dennis@kobert.dev> | 2020-01-07 03:12:55 +0100 |
---|---|---|
committer | Dennis Kobert <dennis@kobert.dev> | 2020-01-07 03:12:55 +0100 |
commit | c36035c0667fdd224da914b50c30a9366e1a5c38 (patch) | |
tree | 4d67f21f89a138e9859540eb5d2446dec5660aef /src/solvers/gpusolver.rs | |
parent | 2750313bab1bff5b94734f949e633f04391577ab (diff) |
Fix global worgsize calculation
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![] } } |