From 1d7969a937d51ea63cba06eb47e38c6a7247a9e3 Mon Sep 17 00:00:00 2001
From: "Timothy A. Smith" <tasmith4@illinois.edu>
Date: Tue, 28 May 2019 00:10:10 -0500
Subject: [PATCH] add new fixtures file for device-related things and put
 get_queue there

---
 device_fixtures.py | 15 +++++++++++++++
 fixtures.py        |  8 +-------
 setup_fixtures.py  |  4 ++--
 3 files changed, 18 insertions(+), 9 deletions(-)
 create mode 100644 device_fixtures.py

diff --git a/device_fixtures.py b/device_fixtures.py
new file mode 100644
index 0000000..d0dbc59
--- /dev/null
+++ b/device_fixtures.py
@@ -0,0 +1,15 @@
+import pyopencl as cl
+
+
+_QUEUE = []
+
+
+def get_queue(ctx_factory):
+    if not _QUEUE:
+        setup_queue(ctx_factory)
+    return _QUEUE[0]
+
+
+def setup_queue(ctx_factory):
+    ctx = ctx_factory()
+    _QUEUE.append(cl.CommandQueue(ctx))
diff --git a/fixtures.py b/fixtures.py
index febd232..6bb5c43 100644
--- a/fixtures.py
+++ b/fixtures.py
@@ -7,9 +7,9 @@ import loopy as lp
 
 from pytest import approx
 
+from device_fixtures import get_queue
 
 _WENO_PRG = []
-_QUEUE = []
 
 def get_gpu_transformed_weno():
     prg = get_weno_program()
@@ -56,12 +56,6 @@ def get_gpu_transformed_weno():
     return prg
 
 
-def get_queue(ctx_factory):
-    if not _QUEUE:
-        ctx = ctx_factory()
-        _QUEUE.append(cl.CommandQueue(ctx))
-    return _QUEUE[0]
-
 
 def with_root_kernel(prg, root_name):
     # FIXME This is a little less beautiful than it could be
diff --git a/setup_fixtures.py b/setup_fixtures.py
index b3800c5..eaaa63e 100644
--- a/setup_fixtures.py
+++ b/setup_fixtures.py
@@ -1,7 +1,7 @@
 import numpy as np
 import pyopencl as cl
 
-import fixtures
+import device_fixtures as device
 
 
 class FluxDerivativeParams:
@@ -57,7 +57,7 @@ def random_flux_derivative_arrays(params):
 
 
 def random_flux_derivative_arrays_on_device(ctx_factory, params):
-    queue = fixtures.get_queue(ctx_factory)
+    queue = device.get_queue(ctx_factory)
 
     states = random_array_on_device(queue, *params.state_bounds())
     fluxes = random_array_on_device(queue, *params.flux_bounds())
-- 
GitLab