@@ -75,6 +75,9 @@ def _cc_to_af_array(in_ptr, ndim, in_shape, in_dtype, is_device=False, copy = Tr
7575
7676try :
7777 import numpy as np
78+ except ImportError :
79+ AF_NUMPY_FOUND = False
80+ else :
7881 from numpy import ndarray as NumpyArray
7982 from .data import reorder
8083
@@ -112,11 +115,12 @@ def np_to_af_array(np_arr, copy=True):
112115 return np_to_af_array (np_arr .copy ())
113116
114117 from_ndarray = np_to_af_array
115- except :
116- AF_NUMPY_FOUND = False
117118
118119try :
119120 import pycuda .gpuarray
121+ except ImportError :
122+ AF_PYCUDA_FOUND = False
123+ else :
120124 from pycuda .gpuarray import GPUArray as CudaArray
121125 AF_PYCUDA_FOUND = True
122126
@@ -154,11 +158,12 @@ def pycuda_to_af_array(pycu_arr, copy=True):
154158 return _cc_to_af_array (in_ptr , pycu_arr .ndim , in_shape , in_dtype , True , copy )
155159 else :
156160 return pycuda_to_af_array (pycu_arr .copy ())
157- except :
158- AF_PYCUDA_FOUND = False
159161
160162try :
161163 from pyopencl .array import Array as OpenclArray
164+ except ImportError :
165+ AF_PYOPENCL_FOUND = False
166+ else :
162167 from .opencl import add_device_context as _add_device_context
163168 from .opencl import set_device_context as _set_device_context
164169 from .opencl import get_device_id as _get_device_id
@@ -221,11 +226,12 @@ def pyopencl_to_af_array(pycl_arr, copy=True):
221226 return _cc_to_af_array (in_ptr , pycl_arr .ndim , in_shape , in_dtype , True , copy )
222227 else :
223228 return pyopencl_to_af_array (pycl_arr .copy ())
224- except :
225- AF_PYOPENCL_FOUND = False
226229
227230try :
228231 import numba
232+ except ImportError :
233+ AF_NUMBA_FOUND = False
234+ else :
229235 from numba import cuda
230236 NumbaCudaArray = cuda .cudadrv .devicearray .DeviceNDArray
231237 AF_NUMBA_FOUND = True
@@ -264,8 +270,6 @@ def numba_to_af_array(nb_arr, copy=True):
264270 return _cc_to_af_array (in_ptr , nb_arr .ndim , in_shape , in_dtype , True , copy )
265271 else :
266272 return numba_to_af_array (nb_arr .copy ())
267- except :
268- AF_NUMBA_FOUND = False
269273
270274def to_array (in_array , copy = True ):
271275 """
0 commit comments