Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR for【文档季】【SPU】文档 [SPU Runtime] & [XLA Implementation Status]翻译成中文文档 #1059

Merged
merged 11 commits into from
Mar 18, 2025
96 changes: 48 additions & 48 deletions docs/locales/zh_CN/LC_MESSAGES/development.po
Original file line number Diff line number Diff line change
Expand Up @@ -2310,101 +2310,101 @@ msgstr "2.38x"

#: ../../development/runtime.rst:2
msgid "SPU Runtime"
msgstr ""
msgstr "SPU 运行时"

#: ../../development/runtime.rst:5
msgid "Architecture"
msgstr ""
msgstr "架构"

#: ../../development/runtime.rst:7
msgid "Here is the big picture of SPU VM."
msgstr ""
msgstr "以下是 SPU 虚拟机的整体概况。"

#: ../../development/runtime.rst:11
msgid ""
"The top 3 blocks above *SPU VM* are applications, we could ignore them "
"for now."
msgstr ""
msgstr "SPU 虚拟机上方的三个模块是应用程序,我们暂时可以忽略它们。"

#: ../../development/runtime.rst:12
msgid "The bottom left block is the scheduling component."
msgstr ""
msgstr "左下方的模块是调度组件。"

#: ../../development/runtime.rst:13
msgid ""
"The main block is the SPU Architecture, which is the core for secure "
"evaluation."
msgstr ""
msgstr "主要模块是 SPU 架构,它是安全评估的核心。"

#: ../../development/runtime.rst:15
msgid "Inside SPU, there are multiple layers, from bottom to up:"
msgstr ""
msgstr "在 SPU 内部,有多个层次,从下到上分别是:"

#: ../../development/runtime.rst:17
msgid ""
"**System layer** provides the basic computation and communication ability"
" for the upper layers."
msgstr ""
msgstr "**系统层** 为上层提供基本的计算和通信能力。"

#: ../../development/runtime.rst:18
msgid ""
"**Crypto layer** is the key for secure computation, it's composed by 3 "
"sub layers."
msgstr ""
msgstr "**加密层** 是安全计算的关键,它由三个子层组成。"

#: ../../development/runtime.rst:20
msgid ""
"**Basic** or classic layer, provides classic cryptography, OT, HE also "
"lives in this layer."
msgstr ""
msgstr "**基础层** 或经典层,提供经典的加密技术、OT 和 HE 也在这一层。"

#: ../../development/runtime.rst:21
msgid ""
"**Correlation** or the offline protocol layer, provides correlation like "
"beaver triple and randbit."
msgstr ""
msgstr "**关联层** 或离线协议层,提供类似于比弗三元组和随机位的关联。"

#: ../../development/runtime.rst:22
msgid ""
"**Protocol** or the online protocol layer, applies random correlation and"
" runs the secure evaluation."
msgstr ""
msgstr "**协议层** 或在线协议层,应用随机关联并运行安全评估。"

#: ../../development/runtime.rst:24
msgid ""
"**ALU layer** converts MPC protocols into a programmable machine, which "
"has two sub layers."
msgstr ""
msgstr "**ALU层** 将 MPC 协议转换为可编程机器,它有两个子层。"

#: ../../development/runtime.rst:26
msgid ""
"**Ring 2^k** layer, just like normal CPU, hides cryptography layer's "
"details and provides standard ring2k arithmetic."
msgstr ""
msgstr "**Ring 2^k层**,就像普通 CPU 一样,隐藏了加密层的细节,并提供标准的 ring2k 算术运算能力。"

#: ../../development/runtime.rst:27
msgid ""
"**Fixed point** layer uses fixed point encoding to represent a fractional"
" number and provides basic arithmetic operations over them."
msgstr ""
msgstr "**定点层** 使用定点编码来表示小数,并提供基本的算术运算。"

#: ../../development/runtime.rst:29
msgid ""
"**OPS layer** is designed to be extensible, in this layer we can define "
"multiple modules based on *ALU layer* and finally exposed to VM clients "
"via bindings or SPU IR."
msgstr ""
msgstr "**OPS 层** 被设计为可扩展的,在这一层我们可以基于 *ALU 层* 定义多个模块,最终通过绑定或 SPU IR 暴露给 VM 客户端。"

#: ../../development/runtime.rst:32
msgid "Homogeneous and Heterogeneous"
msgstr ""
msgstr "同构和异构"

#: ../../development/runtime.rst:34
msgid ""
"Recall that SPU VM is composed of multiple physical engines, the "
"definitions of *homogeneous* and *heterogeneous* come from an *engines*' "
"perspective."
msgstr ""
msgstr "回想一下,SPU 虚拟机由多个物理引擎组成,*同构* 和 *异构* 的定义来自 *引擎* 的角度。"

#: ../../development/runtime.rst:36
msgid ""
Expand All @@ -2413,179 +2413,179 @@ msgid ""
"to distinguish between engines, they cannot and should not send/recv "
"messages between engines, in other words, they can treat all engines the "
"same, and program them as one machine."
msgstr ""
msgstr "**同构**:一个层次是*同构*的,意味着所有引擎在这一层运行完全相同的代码。该层次的用户不需要区分引擎,他们不能也不应该在引擎之间发送/接收消息,换句话说,他们可以将所有引擎视为一个机器来编程。"

#: ../../development/runtime.rst:37
msgid ""
"**Heterogeneous**: in contrast, a layer is *heterogeneous* means that "
"engines in this layer behave differently (following some protocols). The "
"author of this layer should take care of the behavior of each engine to "
"make things correct."
msgstr ""
msgstr "**异构**:相反,一个层次是*异构*的,意味着这一层的引擎行为不同(遵循某些协议)。该层次的作者应注意每个引擎的行为以确保正确性。"

#: ../../development/runtime.rst:39
msgid ""
"We want SPU VM to be *homogeneous*, so we can treat it as a normal "
"virtual device when applying secure evaluation. For example, in the "
"following computation graph, given `x`, `y`, we want to compute `f(x, "
"y)`, the big circle represents a computing node which can evaluate f."
msgstr ""
msgstr "我们希望 SPU 虚拟机是*同构*的,这样在应用安全评估时可以将其视为一个普通的虚拟设备。例如,在下面的计算图中,给定 `x` 和 `y`,我们希望计算 `f(x, y)`,大圆圈代表一个可以评估 f 的计算节点。"

#: ../../development/runtime.rst:43
msgid ""
"In secure computation mode, we have a group of servers working together "
"to provide the functionality of `f`, as shown blow."
msgstr ""
msgstr "在安全计算模式下,我们有一组服务器协同工作来提供 `f` 的功能,如下所示。"

#: ../../development/runtime.rst:47
msgid ""
"The secure protocol (MPC protocol) itself is **heterogeneous**, three "
"servers inside the big circle may behave differently, in this pic, the "
"lower part is blue, which means three servers act and interact "
"differently."
msgstr ""
msgstr "安全协议(MPC 协议)本身是**异构**的,大圆圈内的三台服务器可能表现不同(遵循某些协议)。在这张图中,下半部分是蓝色的,表示三台服务器的行为和交互不同。"

#: ../../development/runtime.rst:49
msgid ""
"But they together provide a **homogeneous** interface to the upper layer,"
" in this pic, the upper half is orange, three servers behave exactly the "
"same, so in the whole computation DAG, the big circle could be treated as"
" one (virtual) node."
msgstr ""
msgstr "但它们共同为上层提供了一个**同构**接口,在这张图中,上半部分是橙色的,三台服务器的行为完全相同,因此在整个计算 DAG 中,大圆圈可以被视为一个(虚拟)节点。"

#: ../../development/runtime.rst:51
msgid ""
"Another reason to use **homogeneous** IR is to hide the number of "
"parties, so the application can switch to an m-PC protocol from an n-PC "
"protocol without code change."
msgstr ""
msgstr "使用**同构**IR的另一个原因是隐藏参与方的数量,这样应用程序可以在不更改代码的情况下从n-PC协议切换到m-PC协议。"

#: ../../development/runtime.rst:53
msgid ""
"One of *SPU*'s goal is to hide the heterogeneous part and expose "
"homogeneous API."
msgstr ""
msgstr "SPU 的目标之一是隐藏异构部分并暴露同构 API。"

#: ../../development/runtime.rst:56
msgid "VM Layout"
msgstr ""
msgstr "虚拟机布局"

#: ../../development/runtime.rst:58
msgid ""
"SPU, as a virtual device, is hosted by multiple physical devices. The "
"relationship between physical devices and SPU is very flexible. Now let's"
" use some examples to illustrate the possible layouts."
msgstr ""
msgstr "SPU 作为一个虚拟设备,由多个物理设备托管。物理设备与 SPU 之间的关系非常灵活。现在让我们用一些例子来说明可能的布局。"

#: ../../development/runtime.rst:61
msgid ""
"Programmers coding toward the virtual layout, the underline physical is "
"**transparent** from the programmer's perspective. It's free to use "
"different physical layouts, without changing a single line of code."
msgstr ""
msgstr "程序员面向虚拟布局进行编码,从程序员的角度来看,底层物理布局是**透明**的。可以自由使用不同的物理布局,而无需更改一行代码。"

#: ../../development/runtime.rst:64
msgid "Outsourcing"
msgstr ""
msgstr "数据托管模式"

#: ../../development/runtime.rst:66
msgid ""
"In this mode, data providers send data shares to a group of non-colluding"
" computation providers who cooperate to evaluate secure computations."
msgstr ""
msgstr "在这种模式下,数据提供者将数据份额发送给一组不串通的计算提供者,这些提供者协同工作以进行安全计算。"

#: ../../development/runtime.rst:70
msgid ""
"The figure to left depicts the physical layout, there are 6 physical "
"nodes, mutually connected but untrusted to each other."
msgstr ""
msgstr "左图描绘了物理布局,有 6 个物理节点,彼此相互连接但不互相信任。"

#: ../../development/runtime.rst:72
msgid "The circle stands for data provider."
msgstr ""
msgstr "圆圈代表数据提供者。"

#: ../../development/runtime.rst:73
msgid ""
"The triangle stands for computing provider, three triangle nodes agree on"
" some MPC protocol."
msgstr ""
msgstr "三角形代表计算提供者,三个三角形节点表示同意某些 MPC 协议。"

#: ../../development/runtime.rst:75
msgid "The figure to the right depicts the virtual layout."
msgstr ""
msgstr "右图描绘了虚拟布局。"

#: ../../development/runtime.rst:77
msgid "The circle has one-to-one relation to the physical nodes."
msgstr ""
msgstr "圆圈与物理节点是一对一的关系。"

#: ../../development/runtime.rst:78
msgid "3 triangle nodes are treated as a single virtual device."
msgstr ""
msgstr "三个三角形节点被视为一个虚拟设备。"

#: ../../development/runtime.rst:81
msgid "Colocated"
msgstr ""
msgstr "联合计算模式"

#: ../../development/runtime.rst:83
msgid ""
"In this mode, data providers also participate in the computation "
"progress, that is, data providers are **colocated** with computing "
"providers."
msgstr ""
msgstr "在这种模式下,数据提供者也参与计算过程,即数据提供者与计算提供者**联合**计算。"

#: ../../development/runtime.rst:87
msgid ""
"On the left side, there are 3 physical nodes, each of which acts as data "
"provider as well as computing provider."
msgstr ""
msgstr "左侧有 3 个物理节点,每个节点既是数据提供者也是计算提供者。"

#: ../../development/runtime.rst:88
msgid ""
"On the right side, **SPU is a pure virtual node, constructed by physical "
"nodes**."
msgstr ""
msgstr "右侧,**SPU 是一个由物理节点构建的纯虚拟节点**。"

#: ../../development/runtime.rst:91
msgid ""
"The number of computing nodes could be larger than that of data nodes in "
"this mode, for example, a computing node without data source could act as"
" a *random correlation generator*, for example:"
msgstr ""
msgstr "在这种模式下,计算节点的数量可能多于数据节点,例如,没有数据源的计算节点可以作为*随机关联生成器*,例如:"

#: ../../development/runtime.rst:97
msgid "There are two notable optimizations in this mode."
msgstr ""
msgstr "在这种模式下有两个显著的优化。"

#: ../../development/runtime.rst:99
msgid ""
"The **private semantic**, a computing node may have private data "
"manipulations to accelerate MPC computation, for example, in *HESS "
"protocol*, we can do :code:`HShare x Private` without online "
"communication."
msgstr ""
msgstr "**私有语义**,计算节点可以进行私有数据操作以加速 MPC 计算,例如,在 *HESS 协议* 中,我们可以进行 :code:`HShare x Private` 而无需在线通信。"

#: ../../development/runtime.rst:100
msgid ""
"The **zero share data infeed**, when a data provider tries to share data "
"cross nodes, it can use :code:`ZeroShare + Private` trick to avoid online"
" communication."
msgstr ""
msgstr "**零份额数据输入**,当数据提供者尝试跨节点共享数据时,可以使用 :code:`ZeroShare + Private` 技巧来避免在线通信。"

#: ../../development/runtime.rst:103
msgid "Hybrid"
msgstr ""
msgstr "混合部署模式"

#: ../../development/runtime.rst:105
msgid ""
"This is the most general form, some data providers participate in the "
"secure computation while others do not."
msgstr ""
msgstr "这是最常见的模式,一些数据提供者参与安全计算,而另一些则不参与。"

#: ../../development/runtime.rst:110
msgid ""
"the **private semantic** and **zero share data infeed** also apply to "
"data providers that participate in the computation."
msgstr ""
msgstr "**私有语义**和**零份额数据输入**也适用于参与计算的数据提供者。"

#: ../../development/type_system.rst:2
msgid "Type System"
Expand Down
Loading
Loading