Replying to both your emails here. Dnia 2012-08-11, sob o godzinie 18:52 -0400, Andreas Kloeckner pisze: > Tomasz Rybak <[email protected]> writes: > > I have run tests on 1GB NVIDIA GeForce GTX 460 and results > > are strange. > > I got two errors related to registering dtypes, with test_struct_reduce > > and test_sort. > > Can you check if these are gone? > > > I got one error related to insufficient memory in test_segmented_scan > > and adding gc.collect() did not help. > > Which test was this in? >
I have packaged latest git version. On Loveland I got 7 failures:
$ py.test --tb=short test_array.py
============================= test session starts
==============================
platform linux2 -- Python 2.7.3 -- pytest-2.2.4
collected 84 items
test_array.py
....s...........................................s...........F.F.F.F.F.F.F...........
=================================== FAILURES
===================================
test_scan[ctx_factory=<context factory for <pyopencl.Device 'Loveland'
on 'AMD Accelerated Parallel Processing' at 0x2ca6c50>>]
test_array.py:880: in test_scan
> assert is_ok
E assert False
------------------------------- Captured stdout
--------------------------------
n:10 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:255 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:256 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:257 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:1019 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:1024 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:1029 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:4091 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:4096 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:4101 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:786432 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:786437 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:1048577 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:1048576 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:8388611 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:16777221 <class 'pyopencl.scan.InclusiveScanKernel'> worked:True
n:10 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:255 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:256 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:257 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:1019 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:1024 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:1029 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:4091 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:4096 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:4101 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
n:786432 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:True
something went wrong, summarizing error...
<540672 ok> 69119037 (want: 2438353, got: 69119037, orig: 3) 69119040
(want: 2438356, got: 69119040, orig: 2) 69119042 (want: 2438358, got:
69119042, orig: 2) 69119044 (want: 2438360, got: 69119044, orig: 3)
69119047 (want: 2438363, got: 69119047, orig: 2) 69119049 (want:
2438365, got: 69119049, orig: 5) 69119054 (want: 2438370, got: 69119054,
orig: 8) 69119062 (want: 2438378, got: 69119062, orig: 8) 69119070
(want: 2438386, got: 69119070, orig: 8) 69119078 (want: 2438394, got:
69119078, orig: 6) 69119084 (want: 2438400, got: 69119084, orig: 2)
69119086 (want: 2438402, got: 69119086, orig: 2) 69119088 (want:
2438404, got: 69119088, orig: 1) 69119089 (want: 2438405, got: 69119089,
orig: 4) 69119093 (want: 2438409, got: 69119093, orig: 4) 69119097
(want: 2438413, got: 69119097, orig: 1) 69119098 (want: 2438414, got:
69119098, orig: 3) 69119101 (want: 2438417, got: 69119101, orig: 2)
69119103 (want: 2438419, got: 69119103, orig: 0) 69119103 (want:
2438419, got: 69119103, orig: 7) 69119110 (want: 2438426, got: 69119110,
orig: 0) 69119110 (want: 2438426, got: 69119110, orig: 4) 69119114
(want: 2438430, got: 69119114, orig: 4) 69119118 (want: 2438434, got:
69119118, orig: 1) 69119119 (want: 2438435, got: 69119119, orig: 5)
69119124 (want: 2438440, got: 69119124, orig: 0) 69119124 (want:
2438440, got: 69119124, orig: 1) 69119125 (want: 2438441, got: 69119125,
orig: 3) 69119128 (want: 2438444, got: 69119128, orig: 9) 69119137
(want: 2438453, got: 69119137, orig: 5) 69119142 (want: 2438458, got:
69119142, orig: 4) 69119146 (want: 2438462, got: 69119146, orig: 9)
69119155 (want: 2438471, got: 69119155, orig: 6) 69119161 (want:
2438477, got: 69119161, orig: 3) 69119164 (want: 2438480, got: 69119164,
orig: 9) 69119173 (want: 2438489, got: 69119173, orig: 8) 69119181
(want: 2438497, got: 69119181, orig: 1) 69119182 (want: 2438498, got:
69119182, orig: 3) 69119185 (want: 2438501, got: 69119185, orig: 2)
69119187 (want: 2438503, got: 69119187, orig: 1) 69119188 (want:
2438504, got: 69119188, orig: 0) 69119188 (want: 2438504, got: 69119188,
orig: 6) 69119194 (want: 2438510, got: 69119194, orig: 1) 69119195
(want: 2438511, got: 69119195, orig: 0) 69119195 (want: 2438511, got:
69119195, orig: 4) 69119199 (want: 2438515, got: 69119199, orig: 6)
69119205 (want: 2438521, got: 69119205, orig: 5) 69119210 (want:
2438526, got: 69119210, orig: 4) 69119214 (want: 2438530, got: 69119214,
orig: 0) 69119214 (want: 2438530, got: 69119214, orig: 6) 69119220
(want: 2438536, got: 69119220, orig: 4) 69119224 (want: 2438540, got:
69119224, orig: 4) 69119228 (want: 2438544, got: 69119228, orig: 2)
69119230 (want: 2438546, got: 69119230, orig: 4) 69119234 (want:
2438550, got: 69119234, orig: 0) 69119234 (want: 2438550, got: 69119234,
orig: 8) 69119242 (want: 2438558, got: 69119242, orig: 2) 69119244
(want: 2438560, got: 69119244, orig: 2) 69119246 (want: 2438562, got:
69119246, orig: 8) 69119254 (want: 2438570, got: 69119254, orig: 1)
69119255 (want: 2438571, got: 69119255, orig: 6) 69119261 (want:
2438577, got: 69119261, orig: 5) 69119266 (want: 2438582, got: 69119266,
orig: 0) 69119266 (want: 2438582, got: 69119266, orig: 9) 69119275
(want: 2438591, got: 69119275, orig: 0) 69119275 (want: 2438591, got:
69119275, orig: 5) 69119280 (want: 2438596, got: 69119280, orig: 0)
69119280 (want: 2438596, got: 69119280, orig: 9) 69119289 (want:
2438605, got: 69119289, orig: 4) 69119293 (want: 2438609, got: 69119293,
orig: 7) 69119300 (want: 2438616, got: 69119300, orig: 2) 69119302
(want: 2438618, got: 69119302, orig: 4) 69119306 (want: 2438622, got:
69119306, orig: 1) 69119307 (want: 2438623, got: 69119307, orig: 5)
69119312 (want: 2438628, got: 69119312, orig: 5) 69119317 (want:
2438633, got: 69119317, orig: 5) 69119322 (want: 2438638, got: 69119322,
orig: 0) 69119322 (want: 2438638, got: 69119322, orig: 8) 69119330
(want: 2438646, got: 69119330, orig: 0) 69119330 (want: 2438646, got:
69119330, orig: 5) 69119335 (want: 2438651, got: 69119335, orig: 3)
69119338 (want: 2438654, got: 69119338, orig: 4) 69119342 (want:
2438658, got: 69119342, orig: 5) 69119347 (want: 2438663, got: 69119347,
orig: 5) 69119352 (want: 2438668, got: 69119352, orig: 6) 69119358
(want: 2438674, got: 69119358, orig: 5) 69119363 (want: 2438679, got:
69119363, orig: 7) 69119370 (want: 2438686, got: 69119370, orig: 7)
69119377 (want: 2438693, got: 69119377, orig: 5) 69119382 (want:
2438698, got: 69119382, orig: 7) 69119389 (want: 2438705, got: 69119389,
orig: 0) 69119389 (want: 2438705, got: 69119389, orig: 2) 69119391
(want: 2438707, got: 69119391, orig: 2) 69119393 (want: 2438709, got:
69119393, orig: 7) 69119400 (want: 2438716, got: 69119400, orig: 6)
69119406 (want: 2438722, got: 69119406, orig: 4) 69119410 (want:
2438726, got: 69119410, orig: 3) 69119413 (want: 2438729, got: 69119413,
orig: 8) 69119421 (want: 2438737, got: 69119421, orig: 8) 69119429
(want: 2438745, got: 69119429, orig: 3) 69119432 (want: 2438748, got:
69119432, orig: 7) 69119439 (want: 2438755, got: 69119439, orig: 7)
69119446 (want: 2438762, got: 69119446, orig: 3) 69119449 (want:
2438765, got: 69119449, orig: 2) 69119451 (want: 2438767, got: 69119451,
orig: 7) 69119458 (want: 2438774, got: 69119458, orig: 0) 69119458
(want: 2438774, got: 69119458, orig: 1) 69119459 (want: 2438775, got:
69119459, orig: 4) 69119463 (want: 2438779, got: 69119463, orig: 8)
69119471 (want: 2438787, got: 69119471, orig: 5) 69119476 (want:
2438792, got: 69119476, orig: 2) 69119478 (want: 2438794, got: 69119478,
orig: 4) 69119482 (want: 2438798, got: 69119482, orig: 7) 69119489
(want: 2438805, got: 69119489, orig: 4) 69119493 (want: 2438809, got:
69119493, orig: 4) 69119497 (want: 2438813, got: 69119497, orig: 6)
69119503 (want: 2438819, got: 69119503, orig: 3) 69119506 (want:
2438822, got: 69119506, orig: 0) 69119506 (want: 2438822, got: 69119506,
orig: 2) 69119508 (want: 2438824, got: 69119508, orig: 8) 69119516
(want: 2438832, got: 69119516, orig: 2) 69119518 (want: 2438834, got:
69119518, orig: 0) 69119518 (want: 2438834, got: 69119518, orig: 0)
69119518 (want: 2438834, got: 69119518, orig: 6) 69119524 (want:
2438840, got: 69119524, orig: 5) 69119529 (want: 2438845, got: 69119529,
orig: 5) 69119534 (want: 2438850, got: 69119534, orig: 3) 69119537
(want: 2438853, got: 69119537, orig: 4) 69119541 (want: 2438857, got:
69119541, orig: 7) 69119548 (want: 2438864, got: 69119548, orig: 8)
69119556 (want: 2438872, got: 69119556, orig: 3) 69119559 (want:
2438875, got: 69119559, orig: 1) 69119560 (want: 2438876, got: 69119560,
orig: 3) 69119563 (want: 2438879, got: 69119563, orig: 3) 69119566
(want: 2438882, got: 69119566, orig: 2) 69119568 (want: 2438884, got:
69119568, orig: 4) 69119572 (want: 2438888, got: 69119572, orig: 5)
69119577 (want: 2438893, got: 69119577, orig: 2) 69119579 (want:
2438895, got: 69119579, orig: 1) 69119580 (want: 2438896, got: 69119580,
orig: 0) 69119580 (want: 2438896, got: 69119580, orig: 7) 69119587
(want: 2438903, got: 69119587, orig: 0) 69119587 (want: 2438903, got:
69119587, orig: 6) 69119593 (want: 2438909, got: 69119593, orig: 8)
69119601 (want: 2438917, got: 69119601, orig: 2) 69119603 (want:
2438919, got: 69119603, orig: 8) 69119611 (want: 2438927, got: 69119611,
orig: 9) 69119620 (want: 2438936, got: 69119620, orig: 7) 69119627
(want: 2438943, got: 69119627, orig: 7) 69119634 (want: 2438950, got:
69119634, orig: 9) 69119643 (want: 2438959, got: 69119643, orig: 4)
69119647 (want: 2438963, got: 69119647, orig: 1) 69119648 (want:
2438964, got: 69119648, orig: 2) 69119650 (want: 2438966, got: 69119650,
orig: 7) 69119657 (want: 2438973, got: 69119657, orig: 5) 69119662
(want: 2438978, got: 69119662, orig: 1) 69119663 (want: 2438979, got:
69119663, orig: 0) 69119663 (want: 2438979, got: 69119663, orig: 0)
69119663 (want: 2438979, got: 69119663, orig: 3) 69119666 (want:
2438982, got: 69119666, orig: 7) 69119673 (want: 2438989, got: 69119673,
orig: 8) 69119681 (want: 2438997, got: 69119681, orig: 5) 69119686
(want: 2439002, got: 69119686, orig: 5) 69119691 (want: 2439007, got:
69119691, orig: 0) 69119691 (want: 2439007, got: 69119691, orig: 2)
69119693 (want: 2439009, got: 69119693, orig: 0) 69119693 (want:
2439009, got: 69119693, orig: 3) 69119696 (want: 2439012, got: 69119696,
orig: 0) 69119696 (want: 2439012, got: 69119696, orig: 7) 69119703
(want: 2439019, got: 69119703, orig: 3) 69119706 (want: 2439022, got:
69119706, orig: 1) 69119707 (want: 2439023, got: 69119707, orig: 1)
69119708 (want: 2439024, got: 69119708, orig: 1) 69119709 (want:
2439025, got: 69119709, orig: 6) 69119715 (want: 2439031, got: 69119715,
orig: 8) 69119723 (want: 2439039, got: 69119723, orig: 6) 69119729
(want: 2439045, got: 69119729, orig: 1) 69119730 (want: 2439046, got:
69119730, orig: 2) 69119732 (want: 2439048, got: 69119732, orig: 6)
69119738 (want: 2439054, got: 69119738, orig: 2) 69119740 (want:
2439056, got: 69119740, orig: 8) 69119748 (want: 2439064, got: 69119748,
orig: 3) 69119751 (want: 2439067, got: 69119751, orig: 1) 69119752
(want: 2439068, got: 69119752, orig: 1) 69119753 (want: 2439069, got:
69119753, orig: 9) 69119762 (want: 2439078, got: 69119762, orig: 8)
69119770 (want: 2439086, got: 69119770, orig: 3) 69119773 (want:
2439089, got: 69119773, orig: 6) 69119779 (want: 2439095, got: 69119779,
orig: 9) 69119788 (want: 2439104, got: 69119788, orig: 1) 69119789
(want: 2439105, got: 69119789, orig: 2) 69119791 (want: 2439107, got:
69119791, orig: 3) 69119794 (want: 2439110, got: 69119794, orig: 0)
69119794 (want: 2439110, got: 69119794, orig: 0) 69119794 (want:
2439110, got: 69119794, orig: 7) 69119801 (want: 2439117, got: 69119801,
orig: 2) 69119803 (want: 2439119, got: 69119803, orig: 6) 69119809
(want: 2439125, got: 69119809, orig: 8) 69119817 (want: 2439133, got:
69119817, orig: 8) <245565 more bad>
n:786437 <class 'pyopencl.scan.ExclusiveScanKernel'> worked:False
test_copy_if[ctx_factory=<context factory for <pyopencl.Device
'Loveland' on 'AMD Accelerated Parallel Processing' at 0x2ca6c50>>]
test_array.py:898: in test_copy_if
> selected_dev, count_dev = copy_if(a_dev, "ary[i] > myval",
[("myval", crit)])
/usr/lib/python2.7/dist-packages/pyopencl/algorithm.py:81: in copy_if
> knl(ary, out, count, *extra_args_values, queue=queue)
/usr/lib/python2.7/dist-packages/pyopencl/scan.py:1248: in __call__
> *scan1_args, **dict(g_times_l=True))
/usr/lib/python2.7/dist-packages/pyopencl/__init__.py:497: in
kernel_call
> global_offset, wait_for, g_times_l=g_times_l)
E RuntimeError: clEnqueueNDRangeKernel failed: out of resources
test_partition[ctx_factory=<context factory for <pyopencl.Device
'Loveland' on 'AMD Accelerated Parallel Processing' at 0x2ca6c50>>]
test_array.py:923: in test_partition
> assert (true_dev.get()[:count_true_dev] == true_host).all()
E AttributeError: 'bool' object has no attribute 'all'
test_unique[ctx_factory=<context factory for <pyopencl.Device
'Loveland' on 'AMD Accelerated Parallel Processing' at 0x2ca6c50>>]
test_array.py:945: in test_unique
> assert (a_unique_dev.get()[:count_unique_dev] ==
a_unique_host).all()
E AttributeError: 'bool' object has no attribute 'all'
test_index_preservation[ctx_factory=<context factory for
<pyopencl.Device 'Loveland' on 'AMD Accelerated Parallel Processing' at
0x2ca6c50>>]
test_array.py:973: in test_index_preservation
> knl(out)
/usr/lib/python2.7/dist-packages/pyopencl/scan.py:1248: in __call__
> *scan1_args, **dict(g_times_l=True))
/usr/lib/python2.7/dist-packages/pyopencl/__init__.py:497: in
kernel_call
> global_offset, wait_for, g_times_l=g_times_l)
E RuntimeError: clEnqueueNDRangeKernel failed: out of resources
test_segmented_scan[ctx_factory=<context factory for <pyopencl.Device
'Loveland' on 'AMD Accelerated Parallel Processing' at 0x2ca6c50>>]
test_array.py:1056: in test_segmented_scan
> knl(a_dev, seg_boundary_flags_dev, result_dev)
/usr/lib/python2.7/dist-packages/pyopencl/scan.py:1248: in __call__
> *scan1_args, **dict(g_times_l=True))
/usr/lib/python2.7/dist-packages/pyopencl/__init__.py:497: in
kernel_call
> global_offset, wait_for, g_times_l=g_times_l)
E RuntimeError: clEnqueueNDRangeKernel failed: out of resources
------------------------------- Captured stdout
--------------------------------
10 excl:True done
255 excl:True done
256 excl:True done
257 excl:True done
1019 excl:True done
1024 excl:True done
1029 excl:True done
4091 excl:True done
4096 excl:True done
4101 excl:True done
786432 excl:True done
786437 excl:True done
1048577 excl:True done
1048576 excl:True done
test_sort[ctx_factory=<context factory for <pyopencl.Device 'Loveland'
on 'AMD Accelerated Parallel Processing' at 0x2ca6c50>>]
test_array.py:1109: in test_sort
> assert (a_dev_sorted.get() == a_sorted).all()
E assert <built-in method all of numpy.ndarray object at
0x3168dd0>()
E + where <built-in method all of numpy.ndarray object at
0x3168dd0> = array([ 347, 419, 803, 843, 943, 944, 953,
994, 997,\n ...8, 64624, 64913, 64706, 64964, 65014, 65521,\n
65249, 65258], dtype=int32) == array([ 240, 347, 419, 618, 619,
626, 670, 673, 803,\n ...4, 65014, 65076, 65135, 65142,
65188, 65249,\n 65258, 65521], dtype=int32).all
E + where array([ 347, 419, 803, 843, 943, 944,
953, 994, 997,\n ...8, 64624, 64913, 64706, 64964, 65014,
65521,\n 65249, 65258], dtype=int32) = <bound method Array.get of
array([ 347, 419, 803, 843, 943, 944, ..., 64624, 64913,
64706, 64964, 65014, 65521,\n 65249, 65258], dtype=int32)>()
E + where <bound method Array.get of array([ 347,
419, 803, 843, 943, 944, ..., 64624, 64913, 64706, 64964,
65014, 65521,\n 65249, 65258], dtype=int32)> = array([ 347,
419, 803, 843, 943, 944, 953, 994, 997,\n ...8,
64624, 64913, 64706, 64964, 65014, 65521,\n 65249, 65258],
dtype=int32).get
------------------------------- Captured stdout
--------------------------------
10
rng
device
numpy
dev: 0.00 MKeys/s numpy: 0.04 MKeys/s ratio: 0.00x
255
rng
device
numpy
dev: 0.01 MKeys/s numpy: 0.81 MKeys/s ratio: 0.01x
256
rng
device
numpy
dev: 0.01 MKeys/s numpy: 0.80 MKeys/s ratio: 0.01x
257
rng
device
numpy
dev: 0.01 MKeys/s numpy: 0.63 MKeys/s ratio: 0.01x
1019
rng
device
numpy
dev: 0.03 MKeys/s numpy: 2.16 MKeys/s ratio: 0.01x
=============== 7 failed, 75 passed, 2 skipped in 347.07 seconds
===============
It looks like all tests from test_array.py pass now on Fermi.
The only problem is still with Image-related tests (they
segfault when run on non-NVIDIA ICD loader with NVIDIA ICD);
I intend to debug those on Wednesday or during next weekend.
Best regards.
--
Tomasz Rybak GPG/PGP key ID: 2AD5 9860
Fingerprint A481 824E 7DD3 9C0E C40A 488E C654 FB33 2AD5 9860
http://member.acm.org/~tomaszrybak
signature.asc
Description: This is a digitally signed message part
_______________________________________________ PyOpenCL mailing list [email protected] http://lists.tiker.net/listinfo/pyopencl
