README.md 19.6 KB
Newer Older
fengzch-das's avatar
fengzch-das committed
1
# 1 FastPT简介
fengzch-das's avatar
fengzch-das committed
2

sangwzh's avatar
sangwzh committed
3
4
FastPT是基于python的应用编译工具,借助FastPT,开发人员可以在HCU上开发、部署基于pytorch的内含CUDA代码的应用。可以实现CUDA源码不转码直接编译,或源码转换到HIP格式代码后,通过hipcc适配编译。**推荐优先使用不转码编译方式**。转码适配方式功能受限,可能需要手动处理较多的内容。
FastPT版本与torch版本对应关系如下,其中x为小版本号:
fengzch-das's avatar
fengzch-das committed
5

sangwzh's avatar
sangwzh committed
6
7
|   | FastPT版本         | torch版本 | DTK版本            |
| - | ------------------ | --------- | ------------------ |
sangwz's avatar
sangwz committed
8
9
10
11
12
| 1 | 2.2.x+das.dtk25042 | v2.7.1    | dtk25042           |
| 2 | 2.1.x+das.dtk25042 | v2.5.1    | dtk25042           |
| 3 | 2.1.x+das.dtk25041 | v2.5.1    | dtk25041           |
| 4 | 2.0.x+das.dtk25041 | v2.4.1    | dtk25041           |
| 5 | 2.0.x+das.dtk2504  | v2.4.1    | dtk2504            |
sangwzh's avatar
sangwzh committed
13

fengzch-das's avatar
fengzch-das committed
14
注:
fengzch-das's avatar
fengzch-das committed
15

fengzch-das's avatar
fengzch-das committed
16
17
1. FastPT工具目前尚不支持cutlass类似三方库和内联汇编指令;
2. 编译有依赖库需求且依赖库涉及到GPU加速实现的,可以在DAS上以及GPUFusion(一般为$ROCM_PATH/cuda/)环境下查询是否有已适配或支持的库;
fengzch-das's avatar
fengzch-das committed
18
3. 此工具适合生态组件应用依赖torch的且有GPU加速代码实现的场景下使用,如通过CUDAExtension构建编译或编译依赖libtorch等。
fengzch-das's avatar
fengzch-das committed
19

fengzch-das's avatar
fengzch-das committed
20
# 2 安装
fengzch-das's avatar
fengzch-das committed
21

fengzch-das's avatar
fengzch-das committed
22
 工具安装使用pip方式,安装前请确保环境中已安装了torch,并从光源社区-DAS中下载此工具的安装包。注意与python、torch版本匹配。Torch需要使用HCU下支持的版本。
fengzch-das's avatar
fengzch-das committed
23

zhanggezhong's avatar
zhanggezhong committed
24
```
zhanggezhong's avatar
zhanggezhong committed
25
cd path/to/whl
zhanggezhong's avatar
zhanggezhong committed
26
pip install fastpt*.whl  --no-deps
zhanggezhong's avatar
zhanggezhong committed
27
```
fengzch-das's avatar
fengzch-das committed
28

fengzch-das's avatar
fengzch-das committed
29
安装完成之后,可通过以下指令验证是否安装成功,指令执行后会显示当前fastpt的版本号。
fengzch-das's avatar
fengzch-das committed
30

zhanggezhong's avatar
zhanggezhong committed
31
```
fengzch-das's avatar
fengzch-das committed
32
python -c "import fastpt;print(fastpt.__version__)"
zhanggezhong's avatar
zhanggezhong committed
33
```
sangwzh's avatar
sangwzh committed
34

fengzch-das's avatar
fengzch-das committed
35
# 3 使用
fengzch-das's avatar
fengzch-das committed
36

sangwz's avatar
sangwz committed
37
**推荐使用不转码编译方式,可参考下面的表格以及3.1章节的内容。**
38
工具安装后,**首先通过指令 which fastpt 来获取 fastpt 的安装路径(下面以 /usr/local/bin/fastpt 路径进行说明)**。在构建编译或使用时,通过source  /usr/local/bin/fastpt  -X 进行环境设置。X为模式设置参数,具体参数说明如下:
fengzch-das's avatar
fengzch-das committed
39
40
41
42
43
44
45

| 使用场景   | 指令     | 示例                            | 说明                                                                                                                                                                                 |
| ---------- | -------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 不转码编译 | -C 或 -c | source /usr/local/bin/fastpt -C | 用于工程不转码编译处理的环境设置,由于在编译模式下需要设置部分环境变量,所以在打开新的终端进行编译处理时,需要执行此命令。                                                            |
| 不转码编译 | -E 或 -e | source /usr/local/bin/fastpt -E | 不转码编译的程序执行时环境设置。用于工程在不转码编译后,进行使用时的环境设置。工程迁移到新环境后,安装FastPT后,执行此命令即可。此命令不需要重复执行,只需保证当前系统下执行过即可。 |
| 转码编译   | -T 或 -t | source /usr/local/bin/fastpt -T | 转码编译处理。用于通过转码方式,将CUDA代码转换到HIP代码后的编译实现。只用于组件或程序编译处理,组件执行时不需要额外配置环境。                                                        |
| 帮助       | -H 或 -h | source /usr/local/bin/fastpt -H | 具体指令说明,查询使用方法。                                                                                                                                                         |
fengzch-das's avatar
fengzch-das committed
46
47

## 3.1 不转码编译
fengzch-das's avatar
fengzch-das committed
48

fengzch-das's avatar
fengzch-das committed
49
### 3.1.1 使用方法
fengzch-das's avatar
fengzch-das committed
50

fengzch-das's avatar
fengzch-das committed
51
编译模式:Fastpt-2.0之后支持不转码编译实现,即直接使用CUDA源码编译。安装FastPT工具的whl包,执行:
fengzch-das's avatar
fengzch-das committed
52

zhanggezhong's avatar
zhanggezhong committed
53
```
zhanggezhong's avatar
zhanggezhong committed
54
source  /usr/local/bin/fastpt  -C
zhanggezhong's avatar
zhanggezhong committed
55
```
fengzch-das's avatar
fengzch-das committed
56

fengzch-das's avatar
fengzch-das committed
57
初始化FastPT编译环境,然后按照组件或应用的官方指导编译方法处理即可。
58

fengzch-das's avatar
fengzch-das committed
59
执行模式:编译好组件通过whl包在有FastPT的新环境下使用时,需要确保环境下已执行过执行模式的初始化操作,否则可能会报错找不到CUDA相关的动态库。执行命令:
fengzch-das's avatar
fengzch-das committed
60

zhanggezhong's avatar
zhanggezhong committed
61
```
zhanggezhong's avatar
zhanggezhong committed
62
source  /usr/local/bin/fastpt  -E
zhanggezhong's avatar
zhanggezhong committed
63
```
fengzch-das's avatar
fengzch-das committed
64

fengzch-das's avatar
fengzch-das committed
65
66
67
68

### 3.1.2 不转码编译示例

下面以pytorch_scatter组件为例,通过fastpt不转码编译方式来编译该组件。
fengzch-das's avatar
fengzch-das committed
69
首先,启动一个容器,对当前容器内的环境进行下列检查:
fengzch-das's avatar
fengzch-das committed
70
71
72
73
74
75
76
77
78
(1)是否安装DTK且DTK的版本是否正确;
(2)是否安装pytorch且pytorch的版本是否正确;
(3)是否安装FastPT且FastPT的版本是否正确。
检查完毕后,下载 pytorch_scatter 组件源码,并执行下面的命令进入编译模式:

```
source /usr/local/bin/fastpt -C
```

fengzch-das's avatar
fengzch-das committed
79
* 编译模式:
fengzch-das's avatar
fengzch-das committed
80
81
82
83

进入编译模式后,会有如下提示:

```
fengzch-das's avatar
fengzch-das committed
84
85
86
87
88
89
current_dtk_version: 2504
WARNING: The current dtk version is consistent with the required dtk version.
Success: The current torch version 2.4 matches the required version 2.4.
Torch version is correct: 2.4
torch version check success!
USE_FASTPT_CUDA is set, and CUDA environment is loaded
fengzch-das's avatar
fengzch-das committed
90
```
fengzch-das's avatar
fengzch-das committed
91
92

此时已初始化FastPT编译环境。
fengzch-das's avatar
fengzch-das committed
93
接着,查阅pytorch_scatter的readme.md文档,找到组件的官方指导编译方法。针对该组件,运行下面的命令执行编译并生成whl包:
fengzch-das's avatar
fengzch-das committed
94

fengzch-das's avatar
fengzch-das committed
95
96
97
98
```
python
setup.py bdist_wheel
```
fengzch-das's avatar
fengzch-das committed
99

fengzch-das's avatar
fengzch-das committed
100
编译完成后,生成的whl包会在dist目录下。可以执行下面的命令安装pytorch_scatter并自动安装其依赖包:
fengzch-das's avatar
fengzch-das committed
101

fengzch-das's avatar
fengzch-das committed
102
103
104
105
```
pip install torch_scatter-2.1.0-cp310-cp310-linux_x86_64.whl
```

fengzch-das's avatar
fengzch-das committed
106
* 执行模式:
fengzch-das's avatar
fengzch-das committed
107

sangwzh's avatar
sangwzh committed
108
whl包安装完成后,为测试编译的组件是否可用,执行下面的命令进入执行模式。
fengzch-das's avatar
fengzch-das committed
109

fengzch-das's avatar
fengzch-das committed
110
111
112
```
source /usr/local/bin/fastpt -E
```
fengzch-das's avatar
fengzch-das committed
113

114
此时终端会有如下提示:
fengzch-das's avatar
fengzch-das committed
115

fengzch-das's avatar
fengzch-das committed
116
```
fengzch-das's avatar
fengzch-das committed
117
118
current_dtk_version: 2504
WARNING: The current dtk version is consistent with the required dtk version.
fengzch-das's avatar
fengzch-das committed
119
No ROCm runtime is found, using ROCM_HOME='/opt/dtk'
fengzch-das's avatar
fengzch-das committed
120
121
122
123
124
125
Success: The current torch version 2.4 matches the required version 2.4.
Torch version is correct: 2.4
torch version check success!
torch mocker so already exist
current_dtk_version: 2504
fastpt.cuda has been initialized
fengzch-das's avatar
fengzch-das committed
126
```
fengzch-das's avatar
fengzch-das committed
127

fengzch-das's avatar
fengzch-das committed
128
大部分组件内通常会存在测试用例用于验证,可以通过执行下面的命令进行组件测试:
fengzch-das's avatar
fengzch-das committed
129

fengzch-das's avatar
fengzch-das committed
130
131
132
```
pytest -vs ./tests
```
fengzch-das's avatar
fengzch-das committed
133

fengzch-das's avatar
fengzch-das committed
134
测试完成后,如果用例全部成功测试通过,则该组件验证可用。如果出现失败用例,可以分析其失败原因,从而验证该组件是否可用。
fengzch-das's avatar
fengzch-das committed
135

fengzch-das's avatar
fengzch-das committed
136
### 3.1.3 不转码编译注意事项
fengzch-das's avatar
fengzch-das committed
137

fengzch-das's avatar
fengzch-das committed
138
(1)此工具适用于依赖torch的生态组件使用,应用中内含CUDA C/C++代码的工程在HCU环境下的开发、移植。Fastpt版本应与torch版本对应,当前torch版本要求最低torch-2.4.1;
139

fengzch-das's avatar
fengzch-das committed
140
(2)不支持依赖cutlass、内嵌汇编代码的编译;
141

fengzch-das's avatar
fengzch-das committed
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
(3)使用__CUDA_ARCH__实现条件编译,当使用此宏控制__device__接口是否可见时,由于该宏作用于device代码的编译,会导致接口声明或定义不可见,建议使用__CUDACC__来实现条件编译,举例说明如下,在 host 端代码编译的时候,编译器会严格执行 host 端有关__global__等函数的语法检查,导致被__CUDA_ARCH__包裹的 reduceAdd 函数不可见:

```C++
#ifdef __CUDA_ARCH__ // 该处 __CUDA_ARCH__ 在编译 host 端代码时导致 reduceAdd 函数不可见 -> 报错信息:error: use of undeclared identifier 'reduceAdd'
__device__ __forceinline__ static void reduceAdd(float *address, float val) {
#if (__CUDA_ARCH__ < 200) // 该处 __CUDA_ARCH__  在编译 host 端代码时无影响
#ifdef _MSC_VER
#pragma message( \
    "compute capability lower than 2.x. fall back to use CAS version of atomicAdd for float32")
#else
#warning \
    "compute capability lower than 2.x. fall back to use CAS version of atomicAdd for float32"
#endif
  int *address_as_i = reinterpret_cast<int *>(address);
  int old = *address_as_i, assumed;
  do {
    assumed = old;
    old = atomicCAS(address_as_i, assumed,
                    __float_as_int(val + __int_as_float(assumed)));
  } while (assumed != old);
#else
  atomicAdd(address, val);
#endif
}
#endif  // __CUDA_ARCH__
```

sangwzh's avatar
sangwzh committed
169
(4) 编译模式(-C)与执行模式(-E)下,torch.version.cuda与torch.version.hip会分别被设置,少部分应用在执行时会依赖这两个变量,需要根据具体情况在应用端调整上述两个变量。另外,建议编译完成之后,新开一个终端进行使用或测试。
170

sangwz's avatar
sangwz committed
171
172
(5) 编译时遇到 `fatal error: #include_next <math.h>` 的报错,可以降低CMake版本为3.19处理。

sangwz's avatar
sangwz committed
173
174
(6) 当遇到CUDAHooksMocker重复注册的问题时,一般是环境下安装了nv环境下的whl包,卸载掉此包。

fengzch-das's avatar
fengzch-das committed
175
## 3.2 转码编译
fengzch-das's avatar
fengzch-das committed
176
177
178

FastPT提供了HCU下,转码到HIP格式,通过hipcc进行编译的方法,实现基于torch的应用中CUDA代码移植到HCU平台,工具接口包括CUDAExtension、CppExtension、hipify转码接口。编译时,转码一般是自动实现的。另外提供了自定义接口映射用来补充代码映射关系;提供了保持源码文件夹下文件相对路径的转码方法。

fengzch-das's avatar
fengzch-das committed
179
### 3.2.1 使用方法
fengzch-das's avatar
fengzch-das committed
180

fengzch-das's avatar
fengzch-das committed
181
此方法适用于通过setup.py使用CUDAExtension、CppExtension进行组件构建编译的场景。使用时,执行
fengzch-das's avatar
fengzch-das committed
182

zhanggezhong's avatar
zhanggezhong committed
183
```
zhanggezhong's avatar
zhanggezhong committed
184
source  /usr/local/bin/fastpt -T
zhanggezhong's avatar
zhanggezhong committed
185
```
fengzch-das's avatar
fengzch-das committed
186

fengzch-das's avatar
fengzch-das committed
187
### 3.2.2 自定义接口映射
fengzch-das's avatar
fengzch-das committed
188

fengzch-das's avatar
fengzch-das committed
189
工具中可能存在未涉及到或用户需要的一些转换匹配,可以通过json文件的方式给到工具,在不需要额外修改代码的情况下,实现自定义代码匹配转换。可以通过以下方法补充代码映射。用户需要在CUDAExtension或hipify_python接口调用代码同级目录下,通常为setup.py文件所在目录,创建 custom_hipify_mappings.json文件。json文件内容格式如下:
fengzch-das's avatar
fengzch-das committed
190

zhanggezhong's avatar
zhanggezhong committed
191
192
193
194
195
196
197
198
199
```
{
    "custom_map" : {
        "src mapping 1" : "dst mapping 1",
        "src mapping 2" : "dst mapping 2",
        ...
    }
}
```
fengzch-das's avatar
fengzch-das committed
200

fengzch-das's avatar
fengzch-das committed
201
此示例中,在将CUDA代码转到HIP代码时,会将源码中的”src mapping 1”替换为”dst mapping 1”,将"src mapping 2" 替换成 "dst mapping 2"。
fengzch-das's avatar
fengzch-das committed
202
    自定义映射转换优先级高于内置的转换。
fengzch-das's avatar
fengzch-das committed
203

fengzch-das's avatar
fengzch-das committed
204
### 3.2.3 转码接口
fengzch-das's avatar
fengzch-das committed
205

fengzch-das's avatar
fengzch-das committed
206
207
208
工具提供了hipify转码接口,使用可参考torch中的同名接口。
此接口还提供了实现保留源代码路径的转码的处理方法,转码会新建一个xxx_dtk的代码文件夹,内部文件路径结构与源文件夹下一致,".cu"代码文件扩展名会转成".hip",如xxx.cu转码后为xxx.hip。此方法一般在CMake或Make等需要保持原代码路径的工具编译代码时使用,需要注意CMakeLists.txt中的代码需要手动修改,暂时不支持CMake语法的转码,如".cu"后缀需要改为".hip"、编译器nvcc需要改为hipcc等,此适配场景下建议使用3.1章节中的不转码编译处理。
使用时,需要在要转码的文件夹的同级目录中实现以下脚本fastptcode.py:
fengzch-das's avatar
fengzch-das committed
209
210

```python
zhanggezhong's avatar
zhanggezhong committed
211
212
213
214
215
216
217
218
import os
this_dir = os.path.dirname(os.path.abspath(__file__))
from  fastpt import hipify
res = hipify(
    project_directory=os.path.join(this_dir,'codepath'),
    includes = '*',
    show_detailed=True,
    is_pytorch_extension=True,
fengzch-das's avatar
fengzch-das committed
219
220
    add_dtk_macros=False, # False: 不引入ATen/dtk_macros.h 头文件,默认为True
    keep_file_path=True  # True:保持源代码文件夹内文件相对路径;默认False
zhanggezhong's avatar
zhanggezhong committed
221
222
    # ignores=["run_tests.sh.in"]  # 屏蔽掉不希望处理的代码
)
fengzch-das's avatar
fengzch-das committed
223
224

```
fengzch-das's avatar
fengzch-das committed
225

fengzch-das's avatar
fengzch-das committed
226
执行:
fengzch-das's avatar
fengzch-das committed
227

fengzch-das's avatar
fengzch-das committed
228
229
```
python fastptcode.py
zhanggezhong's avatar
zhanggezhong committed
230
```
fengzch-das's avatar
fengzch-das committed
231

fengzch-das's avatar
fengzch-das committed
232
233
会在codepath的同级目录下生成转码后的文件夹 codepath_dtk,此路径下的文件结构与codepath的结构相同,”.cu“代码文件后缀变为”.hip“。文件结构如下:

zhanggezhong's avatar
zhanggezhong committed
234
235
236
237
238
239
```
|
|----codepath
|----codepath_dtk
|----fastptcode.py
```
sangwzh's avatar
sangwzh committed
240

fengzch-das's avatar
fengzch-das committed
241
### 3.2.4 注意事项
fengzch-das's avatar
fengzch-das committed
242

fengzch-das's avatar
fengzch-das committed
243
(1)此工具适用于依赖torch的生态组件或应用,内含CUDA C/C++代码的工程在HCU环境下的开发、移植,注意FastPT版本与torch版本对应;
244

fengzch-das's avatar
fengzch-das committed
245
(2)暂不支持CMake、make等代码语义处理。代码转换可通过上面3.2.3中的示例,通过执行python的转码脚本代码,将CUDA代码转换成HIP代码,CMake文件需要用户自行处理。为了便于适配建议通过CMake编译的组件使用3.1章节的不转码的方式,通过CUDA源码编译的方式适配;
246

fengzch-das's avatar
fengzch-das committed
247
(3)工程中存在三方依赖库时,三方库可能存在不被处理的情况,此时需要对三方依赖库进行单独处理;
248

fengzch-das's avatar
fengzch-das committed
249
(4)适配组件的setup.py 中可能会有CUDA环境检查来决定是否执行CUDA相关代码的编译,例如CUDA_PATH或torch.version.cuda的检查,可按情况进行处理;
250

fengzch-das's avatar
fengzch-das committed
251
(5)当不希望引入ATen/dtk_macros.h这个头文件时,可以通过以方式屏蔽此头文件的引入:export FASTPT_DTK_MACROS=1。
252
253

# 4 已支持组件列表
fengzch-das's avatar
fengzch-das committed
254

sangwzh's avatar
sangwzh committed
255
在 OpenDAS 仓库中,分支名带有 fastpt 后缀的组件支持 FastPT 不转码编译,具体如下:
fengzch-das's avatar
fengzch-das committed
256

fengzch's avatar
fengzch committed
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
|        组件名称        |          版本及分支          | DAS仓库                                                                  | 已验证的FastPT版本 |
| :---------------------: | :--------------------------: | ------------------------------------------------------------------------ | ------------------ |
|          audio          | v2.4.1-fastpt; v2.5.1-fastpt | https://developer.sourcefind.cn/codes/OpenDAS/torchaudio                 | 2.0.1;2.1.0       |
|         vision         |        v0.19.1-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/vision.git                  | 2.0.1;2.1.0       |
|          mmcv          | v2.1.0-fastpt; v2.2.0-fastpt | http://developer.sourcefind.cn/codes/OpenDAS/mmcv.git                    | 2.0.1;2.1.0       |
|        pytorch3d        |        V0.7.8-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/pytorch3d.git               | 2.0.1;2.1.0       |
|        maskrcnn        |         v0.1-fastpt         | https://developer.sourcefind.cn/codes/OpenDAS/maskrcnn                   | 2.0.1;2.1.0       |
|      mmdetection3d      |        v1.4.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/mmdetection3d.git           | 2.0.1;2.1.0       |
|      opencv-python      |            4.8.0            | http://developer.sourcefind.cn/codes/OpenDAS/opencv-python.git           |                    |
|     pytorch_sparse     |        0.6.16-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/torch-sparce.git            | 2.0.1;2.1.0       |
|     pytorch_scatter     |         2.1.0-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/torch-scatter.git           | 2.0.1;2.1.0       |
|     pytorch_cluster     |         1.6.3-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/torch-scatter.git           | 2.0.1;2.1.0       |
|   pytorch_spline_conv   |         1.2.2-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/torch-spline-conv.git       | 2.0.1;2.1.0       |
|        torchnai        |        v2.2.4-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/torchani.git                | 2.0.1;2.1.0       |
|          apex          |        24.04.1-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/apex.git                    | 2.0.1;2.1.0       |
|         fastmoe         |        v1.1.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/fastmoe.git                 | 2.0.1;2.1.0       |
|        lietorch        |         v0.3-fastpt         | https://developer.sourcefind.cn/codes/OpenDAS/lietorch                   | 2.0.1;2.1.0       |
|        uni-core        |        v0.0.1-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/Uni-Core.git                | 2.0.1;2.1.0       |
|        OpenPCDet        |        v0.6.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/openpcdet.git               | 2.0.1;2.1.0       |
|      SparseConvNet      |         v0.2-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/sparseconvnet.git           | 2.0.1;2.1.0       |
|       detectron2       |         v0.6-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/detectron2.git              | 2.0.1;2.1.0       |
|        fairscale        | v0.4.9-fastpt、v0.4.3-fastpt | http://developer.sourcefind.cn/codes/OpenDAS/fairscale.git               | 2.0.1;2.1.0       |
|         fairseq         |        v0.9.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/fairseq.git                 | 2.0.1;2.1.0       |
|         metaseq         |     main-f7ffa5fd-fastpt     | http://developer.sourcefind.cn/codes/OpenDAS/metaseq.git                 | 2.0.1;2.1.0       |
|       pydensecrf       |    master-2723c7fa-fastpt    | http://developer.sourcefind.cn/codes/OpenDAS/pydensecrf.git              | 2.0.1;2.1.0       |
|          d2go          |     mian-f4ac1567-fastpt     | http://developer.sourcefind.cn/codes/OpenDAS/d2go.git                    | 2.0.1;2.1.0       |
|          dlib          |        v19.24-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/dlib.git                    | 2.0.1;2.1.0       |
|      causal_conv1d      |        v1.5.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/causal-conv1d.git           | 2.0.1;2.1.0       |
|          cubvh          |     main-ee89d5fa-fastpt     | http://developer.sourcefind.cn/codes/OpenDAS/cubvh.git                   | 2.0.1;2.1.0       |
|      bitsandbytes      |        0.48.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/bitsandbytes.git            | 2.0.1;2.1.0       |
|      mmgeneration      |        v0.7.3-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/mmgeneration.git            | 2.0.1;2.1.0       |
|       mmpretrain       |        v1.2.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/mmpretrain.git              | 2.0.1;2.1.0       |
|        mmdeploy        |        v1.3.1-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/mmdeploy.git                | 2.0.1;2.1.0       |
|    pytorch_bincount    |         0.1.1-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/torch-bincount.git          | 2.0.1;2.1.0       |
| fast-hadamard-transform |        v1.0.4-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/fast-hadamard-transform.git | 2.0.1;2.1.0       |
fengzch's avatar
fengzch committed
292
|      torch-unique      |         1.0.3-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/torch-unique.git            | 2.0.1;2.1.0    |
fengzch's avatar
fengzch committed
293
294
295
296
297
298
299
300
|        openfold        |        v2.2.0-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/openfold.git                | 2.0.1;2.1.0       |
|      pyg_autoscale      |        master-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/pyg_autoscale.git           | 2.0.1;2.1.0       |
|     torch-harmonics     |         0.8.0-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/torch-harmonics.git         | 2.0.1;2.1.0       |
|          DRTK          |         main-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/drtk.git                    | 2.0.1;2.1.0       |
|        fast_rnnt        |        master-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/fast_rnnt.git               | 2.0.1;2.1.0       |
|    PyTorch-Encoding    |        master-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/pytorch-encoding.git        | 2.0.1;2.1.0       |
|         nerfacc         |        master-fastpt        | http://developer.sourcefind.cn/codes/OpenDAS/nerfacc.git                 | 2.0.1;2.1.0       |
|        veturboio        |         main-fastpt         | http://developer.sourcefind.cn/codes/OpenDAS/veturboio.git               | 2.0.1;2.1.0       |
fengzch-das's avatar
fengzch-das committed
301

302
# 5 附录
fengzch-das's avatar
fengzch-das committed
303

fengzch-das's avatar
fengzch-das committed
304
fastpt whl包链接地址:https://download.sourcefind.cn:65024/4/main/fastpt