本文整理汇总了Python中pyopencl.array.arange函数的典型用法代码示例。如果您正苦于以下问题:Python arange函数的具体用法?Python arange怎么用?Python arange使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了arange函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_fancy_indexing
def test_fancy_indexing(ctx_factory):
if _PYPY:
pytest.xfail("numpypy: multi value setting is not supported")
context = ctx_factory()
queue = cl.CommandQueue(context)
numpy_dest = np.zeros((4,), np.int32)
numpy_idx = np.arange(3, 0, -1, dtype=np.int32)
numpy_src = np.arange(8, 10, dtype=np.int32)
numpy_dest[numpy_idx] = numpy_src
cl_dest = cl_array.zeros(queue, (4,), np.int32)
cl_idx = cl_array.arange(queue, 3, 0, -1, dtype=np.int32)
cl_src = cl_array.arange(queue, 8, 10, dtype=np.int32)
cl_dest[cl_idx] = cl_src
assert np.all(numpy_dest == cl_dest.get())
cl_idx[1] = 3
cl_idx[2] = 2
numpy_idx[1] = 3
numpy_idx[2] = 2
numpy_dest[numpy_idx] = numpy_src
cl_dest[cl_idx] = cl_src
assert np.all(numpy_dest == cl_dest.get())
开发者ID:mattwala,项目名称:PyOpenCL,代码行数:28,代码来源:test_array.py
示例2: test_take
def test_take(ctx_getter):
context = ctx_getter()
queue = cl.CommandQueue(context)
idx = cl_array.arange(context, queue, 0, 200000, 2, dtype=numpy.uint32)
a = cl_array.arange(context, queue, 0, 600000, 3, dtype=numpy.float32)
result = cl_array.take(a, idx)
assert ((3*idx).get() == result.get()).all()
开发者ID:initcrash,项目名称:pyopencl,代码行数:8,代码来源:test_array.py
示例3: test_fmod
def test_fmod(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
for s in sizes:
a = cl_array.arange(queue, s, dtype=np.float32) / 10
a2 = cl_array.arange(queue, s, dtype=np.float32) / 45.2 + 0.1
b = clmath.fmod(a, a2)
a = a.get()
a2 = a2.get()
b = b.get()
for i in range(s):
assert math.fmod(a[i], a2[i]) == b[i]
开发者ID:abergeron,项目名称:pyopencl,代码行数:15,代码来源:test_clmath.py
示例4: test_atan2pi
def test_atan2pi(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
for s in sizes:
a = (cl_array.arange(queue, s, dtype=np.float32) - np.float32(s / 2)) / 100
a2 = (s / 2 - 1 - cl_array.arange(queue, s, dtype=np.float32)) / 100
b = clmath.atan2pi(a, a2)
a = a.get()
a2 = a2.get()
b = b.get()
for i in range(s):
assert abs(math.atan2(a[i], a2[i]) / math.pi - b[i]) < 1e-6
开发者ID:adityaatluri,项目名称:pyopencl,代码行数:15,代码来源:test_clmath.py
示例5: test_ldexp
def test_ldexp(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
for s in sizes:
a = cl_array.arange(queue, s, dtype=np.float32)
a2 = cl_array.arange(queue, s, dtype=np.float32) * 1e-3
b = clmath.ldexp(a, a2)
a = a.get()
a2 = a2.get()
b = b.get()
for i in range(s):
assert math.ldexp(a[i], int(a2[i])) == b[i]
开发者ID:abergeron,项目名称:pyopencl,代码行数:15,代码来源:test_clmath.py
示例6: test_arange
def test_arange(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
n = 5000
a = cl_array.arange(queue, n, dtype=np.float32)
assert (np.arange(n, dtype=np.float32) == a.get()).all()
开发者ID:shinsec,项目名称:pyopencl,代码行数:7,代码来源:test_algorithm.py
示例7: setup_arrays
def setup_arrays(self, nrays, nsamples, cutoff):
prog_params = (nrays, nsamples, cutoff)
if prog_params in self.array_cache:
return self.array_cache[prog_params]
else:
arrays = ArraySet()
arrays.scratch = cla.empty(self.queue,
(nsamples, nrays),
dtype=np.float32,
allocator=self.memory_pool)
arrays.result = cla.empty(self.queue,
(nrays,),
dtype=np.int32,
allocator=self.memory_pool)
arrays.pre_cutoff = cla.empty(self.queue,
(nrays, cutoff),
dtype=np.float32,
allocator=self.memory_pool)
arrays.pre_cutoff_squared = cla.empty_like(arrays.pre_cutoff)
arrays.idx = cla.arange(self.queue, 0, cutoff * nrays, 1,
dtype=np.int32,
allocator=self.memory_pool)
self.array_cache[prog_params] = arrays
return arrays
开发者ID:coxlab,项目名称:camera-capture-thing,代码行数:32,代码来源:cl_ray_boundaries.py
示例8: test
def test(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
gpu_func = getattr(clmath, name)
cpu_func = getattr(np, numpy_func_names.get(name, name))
if has_double_support(context.devices[0]):
if use_complex:
dtypes = [np.float32, np.float64, np.complex64, np.complex128]
else:
dtypes = [np.float32, np.float64]
else:
if use_complex:
dtypes = [np.float32, np.complex64]
else:
dtypes = [np.float32]
for s in sizes:
for dtype in dtypes:
dtype = np.dtype(dtype)
args = cl_array.arange(queue, a, b, (b - a) / s, dtype=dtype)
if dtype.kind == "c":
args = args + dtype.type(1j) * args
gpu_results = gpu_func(args).get()
cpu_results = cpu_func(args.get())
my_threshold = threshold
if dtype.kind == "c" and isinstance(use_complex, float):
my_threshold = use_complex
max_err = np.max(np.abs(cpu_results - gpu_results))
assert (max_err <= my_threshold).all(), (max_err, name, dtype)
开发者ID:abergeron,项目名称:pyopencl,代码行数:35,代码来源:test_clmath.py
示例9: test_bitonic_argsort
def test_bitonic_argsort(ctx_factory, size, dtype):
ctx = cl.create_some_context()
queue = cl.CommandQueue(ctx)
dev = ctx.devices[0]
if (dev.platform.name == "Apple" and dev.type & cl.device_type.CPU):
pytest.xfail("Bitonic sort won't work on Apple CPU: no workgroup "
"parallelism")
if (dev.platform.name == "Portable Computing Language"
and dtype == np.float64):
pytest.xfail("Double precision bitonic sort doesn't work on POCL")
import pyopencl.clrandom as clrandom
from pyopencl.bitonic_sort import BitonicSort
index = cl_array.arange(queue, 0, size, 1, dtype=np.int32)
m = clrandom.rand(queue, (size,), dtype, luxury=None, a=0, b=239432234)
sorterm = BitonicSort(ctx)
ms, evt = sorterm(m.copy(), idx=index, axis=0)
assert np.array_equal(np.sort(m.get()), ms.get())
# may be False because of identical values in array
# assert np.array_equal(np.argsort(m.get()), index.get())
# Check values by indices
assert np.array_equal(m.get()[np.argsort(m.get())], m.get()[index.get()])
开发者ID:god1991,项目名称:pyopencl,代码行数:29,代码来源:test_algorithm.py
示例10: test_arange
def test_arange(ctx_getter):
context = ctx_getter()
queue = cl.CommandQueue(context)
n = 5000
a = cl_array.arange(context, queue, n, dtype=numpy.float32)
assert (numpy.arange(n, dtype=numpy.float32) == a.get()).all()
开发者ID:initcrash,项目名称:pyopencl,代码行数:7,代码来源:test_array.py
示例11: test_mem_pool_with_arrays
def test_mem_pool_with_arrays(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
mem_pool = cl_tools.MemoryPool(cl_tools.ImmediateAllocator(queue))
a_dev = cl_array.arange(queue, 2000, dtype=np.float32, allocator=mem_pool)
b_dev = cl_array.to_device(queue, np.arange(2000), allocator=mem_pool) + 4000
assert a_dev.allocator is mem_pool
assert b_dev.allocator is mem_pool
开发者ID:hrfuller,项目名称:pyopencl,代码行数:10,代码来源:test_array.py
示例12: init_indices_buffers
def init_indices_buffers(self, image_width, image_height, kernels):
mf = cl.mem_flags
self.indices_host_buffer = numpy.arange(self.array_size, dtype=numpy.int32)
self.indices_gpu_buffer = cl_array.arange(self.queue, 0, self.array_size, dtype=numpy.int32)
self.sorted_indices_gpu_buffer = cl_array.zeros_like(self.indices_gpu_buffer)
self.indices_host_back_buffers = {}
for cell in kernels.keys():
self.indices_host_back_buffers[cell] = {}
for centre in kernels[cell].keys():
self.indices_host_back_buffers[cell][centre] = numpy.zeros_like(self.source_host_buffer,
dtype=numpy.int32)
开发者ID:chanokin,项目名称:fovpitCL,代码行数:12,代码来源:convolutionCL.py
示例13: linspace
def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=float_):
#TODO: create native function
if num<2: return array([start])
if endpoint:
mnum = num-1
else:
mnum = num
diff = (stop - start) / mnum
if endpoint:
stop = stop + diff
res = clarray.arange(queue, start, stop, diff, dtype=float_)[:num]
res.__class__ = myclArray
res.reinit()
return res
开发者ID:ixtel,项目名称:neurolabcl,代码行数:14,代码来源:mynp.py
示例14: test_multi_put
def test_multi_put(ctx_factory):
if _PYPY:
pytest.xfail("numpypy: multi value setting is not supported")
context = ctx_factory()
queue = cl.CommandQueue(context)
cl_arrays = [
cl_array.arange(queue, 0, 3, dtype=np.float32)
for i in range(1, 10)
]
idx = cl_array.arange(queue, 0, 6, dtype=np.int32)
out_arrays = [
cl_array.zeros(queue, (10,), np.float32)
for i in range(9)
]
out_compare = [np.zeros((10,), np.float32) for i in range(9)]
for i, ary in enumerate(out_compare):
ary[idx.get()] = np.arange(0, 3, dtype=np.float32)
cl_array.multi_put(cl_arrays, idx, out=out_arrays)
assert np.all(np.all(out_compare[i] == out_arrays[i].get()) for i in range(9))
开发者ID:mattwala,项目名称:PyOpenCL,代码行数:24,代码来源:test_array.py
示例15: build_scratch
def build_scratch(self, imshape):
self.scratch = []
self.index_scratch = []
l = np.prod(imshape)
self.array_indices = cla.arange(self.queue, 0, l, 1, dtype=np.int32)
if l % self.runlen != 0:
l += l % self.runlen
while l > 1:
l /= self.runlen
self.scratch.append(cla.empty(self.queue, (l,), np.float32))
self.index_scratch.append(cla.empty(self.queue, (l,), np.int32))
self.imshape = imshape
开发者ID:coxlab,项目名称:camera-capture-thing,代码行数:15,代码来源:cl_minmax.py
示例16: arange
def arange(start, stop=0):
if not stop:
stop = start
start = 0
if type(start) == float or type(stop) == float:
dtype=float_
elif start>=0:
dtype = np.uint32
elif start<0:
dtype = np.int32
#print(start, stop, 1, dtype)
res = clarray.arange(queue, start, stop, 1, dtype=dtype)
res.__class__ = myclArray
res.reinit()
return res
开发者ID:ixtel,项目名称:neurolabcl,代码行数:15,代码来源:mynp.py
示例17: test_abs
def test_abs(ctx_getter):
context = ctx_getter()
queue = cl.CommandQueue(context)
a = -cl_array.arange(context, queue, 111, dtype=numpy.float32)
res = a.get()
for i in range(111):
assert res[i] <= 0
a = abs(a)
res = a.get()
for i in range (111):
assert abs(res[i]) >= 0
assert res[i] == i
开发者ID:initcrash,项目名称:pyopencl,代码行数:17,代码来源:test_array.py
示例18: test_frexp
def test_frexp(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
for s in sizes:
a = cl_array.arange(queue, s, dtype=np.float32) / 10
significands, exponents = clmath.frexp(a)
a = a.get()
significands = significands.get()
exponents = exponents.get()
for i in range(s):
sig_true, ex_true = math.frexp(a[i])
assert sig_true == significands[i]
assert ex_true == exponents[i]
开发者ID:abergeron,项目名称:pyopencl,代码行数:17,代码来源:test_clmath.py
示例19: test_modf
def test_modf(ctx_factory):
context = ctx_factory()
queue = cl.CommandQueue(context)
for s in sizes:
a = cl_array.arange(queue, s, dtype=np.float32) / 10
fracpart, intpart = clmath.modf(a)
a = a.get()
intpart = intpart.get()
fracpart = fracpart.get()
for i in range(s):
fracpart_true, intpart_true = math.modf(a[i])
assert intpart_true == intpart[i]
assert abs(fracpart_true - fracpart[i]) < 1e-4
开发者ID:abergeron,项目名称:pyopencl,代码行数:17,代码来源:test_clmath.py
示例20: test_bitonic_argsort
def test_bitonic_argsort(ctx_factory, size, dtype):
import sys
is_pypy = '__pypy__' in sys.builtin_module_names
if not size and is_pypy:
# https://bitbucket.org/pypy/numpy/issues/53/specifying-strides-on-zero-sized-array
pytest.xfail("pypy doesn't seem to handle as_strided "
"on zero-sized arrays very well")
ctx = cl.create_some_context()
queue = cl.CommandQueue(ctx)
dev = ctx.devices[0]
if (dev.platform.name == "Portable Computing Language"
and sys.platform == "darwin"):
pytest.xfail("Bitonic sort crashes on Apple POCL")
if (dev.platform.name == "Apple" and dev.type & cl.device_type.CPU):
pytest.xfail("Bitonic sort won't work on Apple CPU: no workgroup "
"parallelism")
if (dev.platform.name == "Portable Computing Language"
and dtype == np.float64
and get_pocl_version(dev.platform) < (1, 0)):
pytest.xfail("Double precision bitonic sort doesn't work on POCL < 1.0")
if dtype == np.float64 and not has_double_support(dev):
from pytest import skip
skip("double precision not supported on %s" % dev)
import pyopencl.clrandom as clrandom
from pyopencl.bitonic_sort import BitonicSort
index = cl_array.arange(queue, 0, size, 1, dtype=np.int32)
m = clrandom.rand(queue, (size,), dtype, luxury=None, a=0, b=239432234)
sorterm = BitonicSort(ctx)
ms, evt = sorterm(m.copy(), idx=index, axis=0)
assert np.array_equal(np.sort(m.get()), ms.get())
# may be False because of identical values in array
# assert np.array_equal(np.argsort(m.get()), index.get())
# Check values by indices
assert np.array_equal(m.get()[np.argsort(m.get())], m.get()[index.get()])
开发者ID:kif,项目名称:pyopencl,代码行数:45,代码来源:test_algorithm.py
注:本文中的pyopencl.array.arange函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论