[yt-svn] commit/yt: 6 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Wed Mar 30 15:16:18 PDT 2016
6 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/0078c0e0d9ed/
Changeset: 0078c0e0d9ed
Branch: yt
User: ngoldbaum
Date: 2016-03-29 16:06:56+00:00
Summary: Handle KeyboardInterrupt in volume rendering cython loop
Affected #: 1 file
diff -r b6dad5b69998cff732a5c3ea7847a4b01092ffc8 -r 0078c0e0d9eda590e64c382421064f29fea0124d yt/utilities/lib/grid_traversal.pyx
--- a/yt/utilities/lib/grid_traversal.pyx
+++ b/yt/utilities/lib/grid_traversal.pyx
@@ -31,6 +31,8 @@
from cython.parallel import prange, parallel, threadid
from vec3_ops cimport dot, subtract, L2_norm, fma
+from cpython.exc cimport PyErr_CheckSignals
+
DEF Nch = 4
cdef class PartitionedGrid:
@@ -476,6 +478,8 @@
max_t = fclip(im.zbuffer[vi, vj], 0.0, 1.0)
walk_volume(vc, v_pos, v_dir, self.sampler,
(<void *> idata), NULL, max_t)
+ with gil:
+ PyErr_CheckSignals()
for i in range(Nch):
im.image[vi, vj, i] = idata.rgba[i]
free(idata)
https://bitbucket.org/yt_analysis/yt/commits/6ed945328a03/
Changeset: 6ed945328a03
Branch: yt
User: atmyers
Date: 2016-03-29 19:31:18+00:00
Summary: only check for error signals every so often in the ray walking loop.
Affected #: 1 file
diff -r 0078c0e0d9eda590e64c382421064f29fea0124d -r 6ed945328a03731b810d8d4c24a5372fa2832011 yt/utilities/lib/grid_traversal.pyx
--- a/yt/utilities/lib/grid_traversal.pyx
+++ b/yt/utilities/lib/grid_traversal.pyx
@@ -16,6 +16,7 @@
import numpy as np
cimport numpy as np
cimport cython
+cimport openmp
#cimport healpix_interface
cdef extern from "limits.h":
cdef int SHRT_MAX
@@ -460,14 +461,17 @@
size = nx * ny
cdef ImageAccumulator *idata
cdef np.float64_t width[3]
+ cdef int chunksize = 100
+ cdef int threads
for i in range(3):
width[i] = self.width[i]
with nogil, parallel(num_threads = num_threads):
+ threads = openmp.omp_get_num_threads()
idata = <ImageAccumulator *> malloc(sizeof(ImageAccumulator))
idata.supp_data = self.supp_data
v_pos = <np.float64_t *> malloc(3 * sizeof(np.float64_t))
v_dir = <np.float64_t *> malloc(3 * sizeof(np.float64_t))
- for j in prange(size, schedule="static", chunksize=100):
+ for j in prange(size, schedule="static", chunksize=chunksize):
vj = j % ny
vi = (j - vj) / ny + iter[0]
vj = vj + iter[2]
@@ -478,8 +482,9 @@
max_t = fclip(im.zbuffer[vi, vj], 0.0, 1.0)
walk_volume(vc, v_pos, v_dir, self.sampler,
(<void *> idata), NULL, max_t)
- with gil:
- PyErr_CheckSignals()
+ if j % (threads*chunksize) == 0:
+ with gil:
+ PyErr_CheckSignals()
for i in range(Nch):
im.image[vi, vj, i] = idata.rgba[i]
free(idata)
https://bitbucket.org/yt_analysis/yt/commits/0082760bdf0c/
Changeset: 0082760bdf0c
Branch: yt
User: ngoldbaum
Date: 2016-03-29 20:07:28+00:00
Summary: Remove dependency on openmp
Affected #: 1 file
diff -r 6ed945328a03731b810d8d4c24a5372fa2832011 -r 0082760bdf0cff3a03788dcc2950d249a51918a0 yt/utilities/lib/grid_traversal.pyx
--- a/yt/utilities/lib/grid_traversal.pyx
+++ b/yt/utilities/lib/grid_traversal.pyx
@@ -16,7 +16,6 @@
import numpy as np
cimport numpy as np
cimport cython
-cimport openmp
#cimport healpix_interface
cdef extern from "limits.h":
cdef int SHRT_MAX
@@ -462,11 +461,9 @@
cdef ImageAccumulator *idata
cdef np.float64_t width[3]
cdef int chunksize = 100
- cdef int threads
for i in range(3):
width[i] = self.width[i]
with nogil, parallel(num_threads = num_threads):
- threads = openmp.omp_get_num_threads()
idata = <ImageAccumulator *> malloc(sizeof(ImageAccumulator))
idata.supp_data = self.supp_data
v_pos = <np.float64_t *> malloc(3 * sizeof(np.float64_t))
@@ -482,7 +479,7 @@
max_t = fclip(im.zbuffer[vi, vj], 0.0, 1.0)
walk_volume(vc, v_pos, v_dir, self.sampler,
(<void *> idata), NULL, max_t)
- if j % (threads*chunksize) == 0:
+ if (j % chunksize) == 0:
with gil:
PyErr_CheckSignals()
for i in range(Nch):
https://bitbucket.org/yt_analysis/yt/commits/315fa3d6c5ab/
Changeset: 315fa3d6c5ab
Branch: yt
User: ngoldbaum
Date: 2016-03-29 20:10:30+00:00
Summary: 10*chunksize seems to be a good compromise on OSX
Affected #: 1 file
diff -r 0082760bdf0cff3a03788dcc2950d249a51918a0 -r 315fa3d6c5abd1446f6ecf5991dc9499a5f4f1f6 yt/utilities/lib/grid_traversal.pyx
--- a/yt/utilities/lib/grid_traversal.pyx
+++ b/yt/utilities/lib/grid_traversal.pyx
@@ -479,7 +479,7 @@
max_t = fclip(im.zbuffer[vi, vj], 0.0, 1.0)
walk_volume(vc, v_pos, v_dir, self.sampler,
(<void *> idata), NULL, max_t)
- if (j % chunksize) == 0:
+ if (j % 10*chunksize) == 0:
with gil:
PyErr_CheckSignals()
for i in range(Nch):
https://bitbucket.org/yt_analysis/yt/commits/ba7e9b3b3fa4/
Changeset: ba7e9b3b3fa4
Branch: yt
User: ngoldbaum
Date: 2016-03-29 20:12:45+00:00
Summary: Add another set of brackets to make order of operations clearer.
Affected #: 1 file
diff -r 315fa3d6c5abd1446f6ecf5991dc9499a5f4f1f6 -r ba7e9b3b3fa44dba50e9627fd328878f9703e203 yt/utilities/lib/grid_traversal.pyx
--- a/yt/utilities/lib/grid_traversal.pyx
+++ b/yt/utilities/lib/grid_traversal.pyx
@@ -479,7 +479,7 @@
max_t = fclip(im.zbuffer[vi, vj], 0.0, 1.0)
walk_volume(vc, v_pos, v_dir, self.sampler,
(<void *> idata), NULL, max_t)
- if (j % 10*chunksize) == 0:
+ if (j % (10*chunksize)) == 0:
with gil:
PyErr_CheckSignals()
for i in range(Nch):
https://bitbucket.org/yt_analysis/yt/commits/d923aa143295/
Changeset: d923aa143295
Branch: yt
User: atmyers
Date: 2016-03-30 22:16:08+00:00
Summary: Merged in ngoldbaum/yt (pull request #2094)
Handle KeyboardInterrupt in volume rendering cython loop
Affected #: 1 file
diff -r e376760e7ac426c9e47ff916655e60bc7ec78a2d -r d923aa143295f0ef48f3e9c87e70b1f21b82d530 yt/utilities/lib/grid_traversal.pyx
--- a/yt/utilities/lib/grid_traversal.pyx
+++ b/yt/utilities/lib/grid_traversal.pyx
@@ -31,6 +31,8 @@
from cython.parallel import prange, parallel, threadid
from vec3_ops cimport dot, subtract, L2_norm, fma
+from cpython.exc cimport PyErr_CheckSignals
+
DEF Nch = 4
cdef class PartitionedGrid:
@@ -458,6 +460,7 @@
size = nx * ny
cdef ImageAccumulator *idata
cdef np.float64_t width[3]
+ cdef int chunksize = 100
for i in range(3):
width[i] = self.width[i]
with nogil, parallel(num_threads = num_threads):
@@ -465,7 +468,7 @@
idata.supp_data = self.supp_data
v_pos = <np.float64_t *> malloc(3 * sizeof(np.float64_t))
v_dir = <np.float64_t *> malloc(3 * sizeof(np.float64_t))
- for j in prange(size, schedule="static", chunksize=100):
+ for j in prange(size, schedule="static", chunksize=chunksize):
vj = j % ny
vi = (j - vj) / ny + iter[0]
vj = vj + iter[2]
@@ -476,6 +479,9 @@
max_t = fclip(im.zbuffer[vi, vj], 0.0, 1.0)
walk_volume(vc, v_pos, v_dir, self.sampler,
(<void *> idata), NULL, max_t)
+ if (j % (10*chunksize)) == 0:
+ with gil:
+ PyErr_CheckSignals()
for i in range(Nch):
im.image[vi, vj, i] = idata.rgba[i]
free(idata)
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-svn-spacepope.org/attachments/20160330/3b15151e/attachment.html>
More information about the yt-svn
mailing list