[yt-svn] commit/yt: 2 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Wed Mar 23 13:56:15 PDT 2016
2 new commits in yt:
http://link.bitbucket.org/wf/click?upn=8USRlNyft-2BCzk2l4Ywl6gDx2lD2xxoS9E7MwXb2SMR-2BXcTD42YocdnOFkyGBVHOU6Z8K5nbF3K-2FIrkCNgwHrv-2BQGum2Qv-2FVb3mOehcJgeSI-3D_ll4ctv0L-2ByeRZFC1LslHcg6aJmnQ70VruLbmeLQr27C8KSaQnxsiYaMfIH0h6idLYL7asebX-2Fcri0pvsgPD3jDF-2Bfj5o-2FBkzsDemwgi9ph6OEYhldL0wZESyp3pXalXK2rKD0b8do4BjgSvwGh38TrOlsusOKN4hqR4nsoSuW0J81BuhGPMKUbNXhBUkKvtWY30HM91nKPsRI-2FjErbFtkMFoaM-2B6OxyO-2FXI5k9cMACQ-3D
Changeset: 207f56eb6859
Branch: yt
User: xarthisius
Date: 2016-03-22 15:58:32+00:00
Summary: Ensure that mpi operations retain ImageArray type instead of downgrading to YTArray parent class
Affected #: 1 file
diff -r de823c10fed9f0b5fd4acf0512c45fc7d9cc491a -r 207f56eb6859d529ac4f6170720317c69ebdfad7 yt/utilities/parallel_tools/parallel_analysis_interface.py
--- a/yt/utilities/parallel_tools/parallel_analysis_interface.py
+++ b/yt/utilities/parallel_tools/parallel_analysis_interface.py
@@ -28,6 +28,7 @@
ensure_list, iterable
from yt.config import ytcfg
+from yt.data_objects.image_array import ImageArray
import yt.utilities.logger
from yt.utilities.lib.quad_tree import \
QuadTree, merge_quadtrees
@@ -794,15 +795,25 @@
if self.comm.rank == root:
if isinstance(data, YTArray):
info = (data.shape, data.dtype, str(data.units), data.units.registry.lut)
+ if isinstance(data, ImageArray):
+ info += ('ImageArray',)
+ else:
+ info += ('YTArray',)
else:
info = (data.shape, data.dtype)
else:
info = ()
info = self.comm.bcast(info, root=root)
if self.comm.rank != root:
- if len(info) == 4:
+ if len(info) == 5:
registry = UnitRegistry(lut=info[3], add_default_symbols=False)
- data = YTArray(np.empty(info[0], dtype=info[1]), info[2], registry=registry)
+ if info[-1] == "ImageArray":
+ data = ImageArray(np.empty(info[0], dtype=info[1]),
+ input_units=info[2],
+ registry=registry)
+ else:
+ data = YTArray(np.empty(info[0], dtype=info[1]),
+ info[2], registry=registry)
else:
data = np.empty(info[0], dtype=info[1])
mpi_type = get_mpi_type(info[1])
@@ -1008,6 +1019,10 @@
# communicate type and shape and optionally units
if isinstance(arr, YTArray):
unit_metadata = (str(arr.units), arr.units.registry.lut)
+ if isinstance(arr, ImageArray):
+ unit_metadata += ('ImageArray',)
+ else:
+ unit_metadata += ('YTArray',)
else:
unit_metadata = ()
self.comm.send((arr.dtype.str, arr.shape) + unit_metadata, dest=dest, tag=tag)
@@ -1020,9 +1035,13 @@
if ne is None and dt is None:
return self.comm.recv(source=source, tag=tag)
arr = np.empty(ne, dtype=dt)
- if len(metadata) == 4:
+ if len(metadata) == 5:
registry = UnitRegistry(lut=metadata[3], add_default_symbols=False)
- arr = YTArray(arr, metadata[2], registry=registry)
+ if metadata[-1] == "ImageArray":
+ arr = ImageArray(arr, input_units=metadata[2],
+ registry=registry)
+ else:
+ arr = YTArray(arr, metadata[2], registry=registry)
tmp = arr.view(self.__tocast)
self.comm.Recv([tmp, MPI.CHAR], source=source, tag=tag)
return arr
@@ -1041,7 +1060,10 @@
if isinstance(send, YTArray):
# We assume send.units is consitent with the units
# on the receiving end.
- recv = YTArray(recv, send.units)
+ if isinstance(send, ImageArray):
+ recv = ImageArray(recv, input_units=send.units)
+ else:
+ recv = YTArray(recv, send.units)
recv[offset:offset+send.size] = send[:]
dtr = send.dtype.itemsize / tmp_send.dtype.itemsize # > 1
roff = [off * dtr for off in offsets]
http://link.bitbucket.org/wf/click?upn=8USRlNyft-2BCzk2l4Ywl6gDx2lD2xxoS9E7MwXb2SMR-2BXcTD42YocdnOFkyGBVHOUgUfP6N6z0V5yyT-2F6jWYUN5wA8TkpYvOeGqIJvbOGL3o-3D_ll4ctv0L-2ByeRZFC1LslHcg6aJmnQ70VruLbmeLQr27C8KSaQnxsiYaMfIH0h6idLYL7asebX-2Fcri0pvsgPD3jEhmPKh5-2BIxIxCfjJDxlA0r67UFyiNKDiAEXMLK0tVlE4Ni2r9midQU88Cb6OLg2MyY4ph83XFgyNTdYLlIjUdRAP1hGscRypCi7Rf1XAM639S9u6su53N2NBme4B2ACBjSBgGtpg3XPqmJ0O43JV9E-3D
Changeset: ca40689574d6
Branch: yt
User: ngoldbaum
Date: 2016-03-23 20:56:04+00:00
Summary: Merged in xarthisius/yt (pull request #2066)
Ensure that mpi operations retain ImageArray type instead of downgrading to YTArray parent class
Affected #: 1 file
diff -r 7d98d561e68cde5957a324cf1c6d6e3d92b43674 -r ca40689574d6bfcb2ec7155906597da1e247ae40 yt/utilities/parallel_tools/parallel_analysis_interface.py
--- a/yt/utilities/parallel_tools/parallel_analysis_interface.py
+++ b/yt/utilities/parallel_tools/parallel_analysis_interface.py
@@ -28,6 +28,7 @@
ensure_list, iterable
from yt.config import ytcfg
+from yt.data_objects.image_array import ImageArray
import yt.utilities.logger
from yt.utilities.lib.quad_tree import \
QuadTree, merge_quadtrees
@@ -794,15 +795,25 @@
if self.comm.rank == root:
if isinstance(data, YTArray):
info = (data.shape, data.dtype, str(data.units), data.units.registry.lut)
+ if isinstance(data, ImageArray):
+ info += ('ImageArray',)
+ else:
+ info += ('YTArray',)
else:
info = (data.shape, data.dtype)
else:
info = ()
info = self.comm.bcast(info, root=root)
if self.comm.rank != root:
- if len(info) == 4:
+ if len(info) == 5:
registry = UnitRegistry(lut=info[3], add_default_symbols=False)
- data = YTArray(np.empty(info[0], dtype=info[1]), info[2], registry=registry)
+ if info[-1] == "ImageArray":
+ data = ImageArray(np.empty(info[0], dtype=info[1]),
+ input_units=info[2],
+ registry=registry)
+ else:
+ data = YTArray(np.empty(info[0], dtype=info[1]),
+ info[2], registry=registry)
else:
data = np.empty(info[0], dtype=info[1])
mpi_type = get_mpi_type(info[1])
@@ -1008,6 +1019,10 @@
# communicate type and shape and optionally units
if isinstance(arr, YTArray):
unit_metadata = (str(arr.units), arr.units.registry.lut)
+ if isinstance(arr, ImageArray):
+ unit_metadata += ('ImageArray',)
+ else:
+ unit_metadata += ('YTArray',)
else:
unit_metadata = ()
self.comm.send((arr.dtype.str, arr.shape) + unit_metadata, dest=dest, tag=tag)
@@ -1020,9 +1035,13 @@
if ne is None and dt is None:
return self.comm.recv(source=source, tag=tag)
arr = np.empty(ne, dtype=dt)
- if len(metadata) == 4:
+ if len(metadata) == 5:
registry = UnitRegistry(lut=metadata[3], add_default_symbols=False)
- arr = YTArray(arr, metadata[2], registry=registry)
+ if metadata[-1] == "ImageArray":
+ arr = ImageArray(arr, input_units=metadata[2],
+ registry=registry)
+ else:
+ arr = YTArray(arr, metadata[2], registry=registry)
tmp = arr.view(self.__tocast)
self.comm.Recv([tmp, MPI.CHAR], source=source, tag=tag)
return arr
@@ -1041,7 +1060,10 @@
if isinstance(send, YTArray):
# We assume send.units is consitent with the units
# on the receiving end.
- recv = YTArray(recv, send.units)
+ if isinstance(send, ImageArray):
+ recv = ImageArray(recv, input_units=send.units)
+ else:
+ recv = YTArray(recv, send.units)
recv[offset:offset+send.size] = send[:]
dtr = send.dtype.itemsize / tmp_send.dtype.itemsize # > 1
roff = [off * dtr for off in offsets]
Repository URL: http://link.bitbucket.org/wf/click?upn=8USRlNyft-2BCzk2l4Ywl6gDx2lD2xxoS9E7MwXb2SMR-2BI0v8SbQq-2B8-2FZaaHaJT85r_ll4ctv0L-2ByeRZFC1LslHcg6aJmnQ70VruLbmeLQr27C8KSaQnxsiYaMfIH0h6idLYL7asebX-2Fcri0pvsgPD3jBnIPEpktpmloukHvY-2BToSYhmeJV9jbMlYQb8BVHCZFm-2BNICv-2F0Rc7yWCiFDz520uuTWFXSn1-2F6MPp7FFaOpXbPW7h717NV7PApi1yZWRvMpXLZZHsH-2F0M9MKDXyR9i1DZ6hFNyX-2BHSpJWzcQ4f8-2FZw-3D
--
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/20160323/e56ee604/attachment.html>
More information about the yt-svn
mailing list