jax.experimental.multihost_utils.global_array_to_host_local_array#
- jax.experimental.multihost_utils.global_array_to_host_local_array(global_inputs, global_mesh, pspecs)[source]#
将全局 jax.Array 转换为主机本地 jax.Array。
您可以使用此函数过渡到 jax.Array。使用 jax.Array 与 pjit 具有与使用 GDA 与 pjit 相同的语义,即 pjit 的所有 jax.Array 输入都应具有全局形状,并且 pjit 的输出也将是全局形状的 jax.Array。
您可以使用此函数将 pjit 输出的全局形状的 jax.Array 再次转换为主机本地值,这样过渡到 jax.Array 可以成为机械更改。
示例用法
>>> from jax.experimental import multihost_utils >>> >>> global_inputs = multihost_utils.host_local_array_to_global_array(host_local_inputs, global_mesh, in_pspecs) >>> >>> with mesh: ... global_out = pjitted_fun(global_inputs) >>> >>> host_local_output = multihost_utils.global_array_to_host_local_array(global_out, mesh, out_pspecs)
- 参数::
global_inputs (Any) – 全局 jax.Array 的 Pytree。
global_mesh (jax.sharding.Mesh) – 一个
jax.sharding.Mesh
对象。网格必须是连续的,这意味着主机的所有本地设备必须形成一个子立方体。pspecs (Any) – 一个包含
jax.sharding.PartitionSpec
对象的 Pytree。
- 返回:
一个包含主机本地数组的 Pytree。