-
Notifications
You must be signed in to change notification settings - Fork 123
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
Conversation
Update Chinese translation for SPU Runtime
Update development dot po
update development dot po
All contributors have signed the CLA ✍️ ✅ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @SukerMao, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
This pull request translates the English documentation for "SPU Runtime" into Chinese. The changes involve updating the development.po
file within the docs/locales/zh_CN/LC_MESSAGES/
directory to provide Chinese translations for various terms and explanations related to SPU runtime architecture, concepts like homogeneous and heterogeneous computing, VM layout, and different deployment modes.
Highlights
- Translation: The primary focus is on translating the 'SPU Runtime' documentation into Chinese.
- Key Concepts: The translation covers essential concepts such as SPU VM architecture, homogeneous vs. heterogeneous environments, and different VM layouts (outsourcing, colocated, hybrid).
- Terminology: Specific terms like 'System layer', 'Crypto layer', 'ALU layer', 'OPS layer', 'private semantic', and 'zero share data infeed' are translated to ensure clarity for Chinese-speaking users.
Changelog
Click here to see the changelog
- docs/locales/zh_CN/LC_MESSAGES/development.po
- Translated 'SPU Runtime' to 'SPU 运行时'
- Translated 'Architecture' to '架构'
- Translated 'Here is the big picture of SPU VM.' to '以下是 SPU 虚拟机的整体概况。'
- Translated 'The top 3 blocks above SPU VM are applications, we could ignore them for now.' to 'SPU 虚拟机上方的三个模块是应用程序,我们暂时可以忽略它们。'
- Translated 'The bottom left block is the scheduling component.' to '左下方的模块是调度组件。'
- Translated 'The main block is the SPU Architecture, which is the core for secure evaluation.' to '主要模块是 SPU 架构,它是安全评估的核心。'
- Translated 'Inside SPU, there are multiple layers, from bottom to up:' to '在 SPU 内部,有多个层次,从下到上分别是:'
- Translated 'System layer provides the basic computation and communication ability for the upper layers.' to '系统层 为上层提供基本的计算和通信能力。'
- Translated 'Crypto layer is the key for secure computation, it's composed by 3 sub layers.' to '加密层 是安全计算的关键,它由三个子层组成。'
- Translated 'Basic or classic layer, provides classic cryptography, OT, HE also lives in this layer.' to '基础层 或经典层,提供经典的加密技术、OT 和 HE 也在这一层。'
- Translated 'Correlation or the offline protocol layer, provides correlation like beaver triple and randbit.' to '关联层 或离线协议层,提供类似于比弗三元组和随机位的关联。'
- Translated 'Protocol or the online protocol layer, applies random correlation and runs the secure evaluation.' to '协议层 或在线协议层,应用随机关联并运行安全评估。'
- Translated 'ALU layer converts MPC protocols into a programmable machine, which has two sub layers.' to 'ALU层 将 MPC 协议转换为可编程机器,它有两个子层。'
- Translated 'Ring 2^k layer, just like normal CPU, hides cryptography layer's details and provides standard ring2k arithmetic.' to 'Ring 2^k层,就像普通 CPU 一样,隐藏了加密层的细节,并提供标准的 ring2k 算术运算能力。'
- Translated 'Fixed point layer uses fixed point encoding to represent a fractional number and provides basic arithmetic operations over them.' to '定点层 使用定点编码来表示小数,并提供基本的算术运算。'
- Translated '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.' to 'OPS 层 被设计为可扩展的,在这一层我们可以基于 ALU 层 定义多个模块,最终通过绑定或 SPU IR 暴露给 VM 客户端。'
- Translated 'Homogeneous and Heterogeneous' to '同构和异构'
- Translated 'Recall that SPU VM is composed of multiple physical engines, the definitions of homogeneous and heterogeneous come from an engines' perspective.' to '回想一下,SPU 虚拟机由多个物理引擎组成,同构 和 异构 的定义来自 引擎 的角度。'
- Translated 'Homogeneous: a layer is homogeneous means that all engines run exactly the same code in this layer. The user of this layer does not need 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.' to '同构:一个层次是同构的,意味着所有引擎在这一层运行完全相同的代码。该层次的用户不需要区分引擎,他们不能也不应该在引擎之间发送/接收消息,换句话说,他们可以将所有引擎视为一个机器来编程。'
- Translated '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.' to '异构:相反,一个层次是异构的,意味着这一层的引擎行为不同(遵循某些协议)。该层次的作者应注意每个引擎的行为以确保正确性。'
- Translated '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 computef(x, y)
, the big circle represents a computing node which can evaluate f.' to '我们希望 SPU 虚拟机是同构的,这样在应用安全评估时可以将其视为一个普通的虚拟设备。例如,在下面的计算图中,给定x
和y
,我们希望计算f(x, y)
,大圆圈代表一个可以评估 f 的计算节点。' - Translated 'In secure computation mode, we have a group of servers working together to provide the functionality of
f
, as shown blow.' to '在安全计算模式下,我们有一组服务器协同工作来提供f
的功能,如下所示。' - Translated '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.' to '安全协议(MPC 协议)本身是异构的,大圆圈内的三台服务器可能表现不同(遵循某些协议)。在这张图中,下半部分是蓝色的,表示三台服务器的行为和交互不同。'
- Translated '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.' to '但它们共同为上层提供了一个同构接口,在这张图中,上半部分是橙色的,三台服务器的行为完全相同,因此在整个计算 DAG 中,大圆圈可以被视为一个(虚拟)节点。'
- Translated '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.' to '使用同构IR的另一个原因是隐藏参与方的数量,这样应用程序可以在不更改代码的情况下从n-PC协议切换到m-PC协议。'
- Translated 'One of SPU's goal is to hide the heterogeneous part and expose homogeneous API.' to 'SPU 的目标之一是隐藏异构部分并暴露同构 API。'
- Translated 'VM Layout' to '虚拟机布局'
- Translated '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.' to 'SPU 作为一个虚拟设备,由多个物理设备托管。物理设备与 SPU 之间的关系非常灵活。现在让我们用一些例子来说明可能的布局。'
- Translated '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.' to '程序员面向虚拟布局进行编码,从程序员的角度来看,底层物理布局是透明的。可以自由使用不同的物理布局,而无需更改一行代码。'
- Translated 'Outsourcing' to '数据托管模式'
- Translated 'In this mode, data providers send data shares to a group of non-colluding computation providers who cooperate to evaluate secure computations.' to '在这种模式下,数据提供者将数据份额发送给一组不串通的计算提供者,这些提供者协同工作以进行安全计算。'
- Translated 'The figure to left depicts the physical layout, there are 6 physical nodes, mutually connected but untrusted to each other.' to '左图描绘了物理布局,有 6 个物理节点,彼此相互连接但不互相信任。'
- Translated 'The circle stands for data provider.' to '圆圈代表数据提供者。'
- Translated 'The triangle stands for computing provider, three triangle nodes agree on some MPC protocol.' to '三角形代表计算提供者,三个三角形节点表示同意某些 MPC 协议。'
- Translated 'The figure to the right depicts the virtual layout.' to '右图描绘了虚拟布局。'
- Translated 'The circle has one-to-one relation to the physical nodes.' to '圆圈与物理节点是一对一的关系。'
- Translated '3 triangle nodes are treated as a single virtual device.' to '三个三角形节点被视为一个虚拟设备。'
- Translated 'Colocated' to '联合计算模式'
- Translated 'In this mode, data providers also participate in the computation progress, that is, data providers are colocated with computing providers.' to '在这种模式下,数据提供者也参与计算过程,即数据提供者与计算提供者联合计算。'
- Translated 'On the left side, there are 3 physical nodes, each of which acts as data provider as well as computing provider.' to '左侧有 3 个物理节点,每个节点既是数据提供者也是计算提供者。'
- Translated 'On the right side, SPU is a pure virtual node, constructed by physical nodes.' to '右侧,SPU 是一个由物理节点构建的纯虚拟节点。'
- Translated '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:' to '在这种模式下,计算节点的数量可能多于数据节点,例如,没有数据源的计算节点可以作为随机关联生成器,例如:'
- Translated 'There are two notable optimizations in this mode.' to '在这种模式下有两个显著的优化。'
- Translated '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.' to '私有语义,计算节点可以进行私有数据操作以加速 MPC 计算,例如,在 HESS 协议 中,我们可以进行 :code:HShare x Private
而无需在线通信。' - Translated '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.' to '零份额数据输入,当数据提供者尝试跨节点共享数据时,可以使用 :code:ZeroShare + Private
技巧来避免在线通信。' - Translated 'Hybrid' to '混合部署模式'
- Translated 'This is the most general form, some data providers participate in the secure computation while others do not.' to '这是最常见的模式,一些数据提供者参与安全计算,而另一些则不参与。'
- Translated 'the private semantic and zero share data infeed also apply to data providers that participate in the computation.' to '私有语义和零份额数据输入也适用于参与计算的数据提供者。'
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Did you know?
The Chinese language has the most native speakers in the world, with over 1.1 billion people speaking Mandarin Chinese as their first language.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request translates the SPU Runtime documentation into Chinese. The changes look good overall, and the translations appear accurate. Here are a few suggestions to improve clarity and consistency.
Merge Readiness
The code changes are well-done and the translations seem accurate. I recommend merging this pull request after addressing the minor suggestions provided in the review comments. I am unable to directly approve the pull request, and users should have others review and approve this code before merging.
I have read the CLA Document and I hereby sign the CLA |
Translate XLA implementation status
update to remove development po
I have read the CLA Document and I hereby sign the CLA |
update according to contributor's comments
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Pull Request
What problem does this PR solve?
【文档季】【SPU】文档 [SPU Runtime]翻译成中文文档
【文档季】【SPU】文档 [XLA Implementation Status]翻译成中文文档
Issue Number:
Fixed #1032
Fixed #1021
Evidences
【SPU Runtime】




【XLA Implementation Status】