summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDennis Kobert <dennis@kobert.dev>2020-01-15 01:38:48 +0100
committerDennis Kobert <dennis@kobert.dev>2020-01-15 01:38:48 +0100
commit006102479a2e8892f943f004c6292bea3d57f092 (patch)
tree1c7743b75fa624c771934bbb77d1144d5e7d30fc
parent042641ea2cfe3ad53eeae5c0cc311bf46f587d07 (diff)
Force ocl to wait for the queue to finish
-rw-r--r--src/solvers/gpu/host.rs1
-rw-r--r--src/solvers/gpusolver.rs4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/solvers/gpu/host.rs b/src/solvers/gpu/host.rs
index 6b91d74..80f9de9 100644
--- a/src/solvers/gpu/host.rs
+++ b/src/solvers/gpu/host.rs
@@ -173,6 +173,7 @@ impl Host {
.offset(0)
.read(&mut data)
.enq()?;
+ self.queue.finish()?;
self.output_sender
.send(Message::ResultMessage(ResultMessage::new(
data,
diff --git a/src/solvers/gpusolver.rs b/src/solvers/gpusolver.rs
index 62e6e0f..d2365e7 100644
--- a/src/solvers/gpusolver.rs
+++ b/src/solvers/gpusolver.rs
@@ -55,11 +55,11 @@ impl GpuSolver {
println!("mem wait {:?}", info);
}
let i = self.n - 3 - numbers[index - 1] / self.chunk;
- sender
+ let _ = sender
.send(Message::CheckRequest(CheckRequest::new(
new_num, curr_mask, i,
)))
- .unwrap();
+ .is_ok();
return;
}
let start = numbers[index as usize] / self.chunk;