首页 > 编程知识 正文

amd优化游戏(amd显卡设置在哪里)

时间:2023-05-05 06:39:36 阅读:89830 作者:1464

导读:北京时间3月4日,PyTorch官方博客发布1.8版。 根据官方的说法,新版本主要包括编译器和分布式培训的更新,同时还添加了一些移动端教程。

从整体上看,此次版本更新自1.7版发布以来,共涵盖3,000多次commit,通过编译、代码优化、科学计算前端API和pytorch.org提供的二进制文件

另外,PyTorch 1.8为了进行管道与模型并行的大规模训练,进行了功能改善和梯度压缩。

一些重要的更新包括:

通过torch.fx,可以进行python之间的函数转换

2添加/调整API以支持2FFT(Torch.FFT )、线性代数函数) torch.linalg,从而提高hessian和jacobian的计算性能;

对3分布式训练进行了大幅更新和改进,包括提高NCCL的可靠性、支持管道并行化、RPC分析、支持增加了梯度压缩的通信hooks等。

在PyTorch 1.8中,TorchCSPRNG、TorchVision、TorchText、TorchAudio等几个PyTorch库也进行了官方大幅更新。

新增及更新 API

API的添加和更新包括与NumPy兼容的附加API,以及在推理和培训时提高代码性能的附加API。

以下是PyTorch 1.8的主要更新功能的概要。

[稳定版] Torch.fft支持高性能NumPy的FFT

在PyTorch 1.8上,发布了torch.fft模块。 本模块在实现NumPy np.ft功能的同时,还支持硬件加速和autograd。

测试版] torch.linalg支持NumPy的线性代数函数

torch.linalg以NumPy np.linalg为原型,为一般的线性代数运算提供与NumPy同样的支持,如Cholesky分解、行列式、特征值等。

基于[测试版]FX的Pthon代码转换

通过FX,开发者在transform (input _ module : nn.module )- nn.Module中进行Python代码转换,输入到module实例中,获取转换后的module实例

为了提高

分布式训练

nccl的稳定性,PyTorch 1.8支持稳定的异步错误/超时处理; 支持RPC分析。 另外,也增加了管线并行化的支持,可以用DDP内的通信挂钩进行梯度压缩。

详细情况如下。

测试版管道并联

提供易于使用的PyTorch API,可将管道作为培训循环的一部分并行使用。

[测试版] DDP通信挂钩

DP通信挂钩(communication hook )是通用接口,通过用分布式数据并行lel复盖vanilla allreduce来控制工作器之间的梯度通信。

PyTorch 1.8添加了内置通信挂钩,如PowerSGD,可以根据需要调用。 此外,通信挂钩接口支持用户的自定义通信策略。

分布式培训的附加原型功能

除了稳定版和测试版中新添加的分布式培训功能外,Nightly版还添加了一些功能。

具体如下。

prototype零冗余同步优化器

[Prototype]进程组NCCL的发送和接收

[Prototype] RPC通过张力管支持CUDA

[属性]远程模块

PyTorch 移动端

PyTorch 1.8为新用户提供了一些移动端教程。 其目的是帮助新用户更快地在移动端部署PyTorch模型。

同时,为老用户提供开发工具,让他们更有信心在PyTorch上进行移动端开发。

PyTorch移动终端的新教程如下。

* iOS侧通过DeepLabV3进行图像分割

* * *安卓端通过DeepLabV3进行图像分割

iOS侧通过DeepLabV3进行图像分割

新的demo APP包括图像分割、目标检测、机器翻译、智能问答; 也包括a等(IOs安卓)。

除了用CPU提升MobileNetV3等机型的性能外,官方还将改造安卓GPU的后台原型,覆盖更多机型,进行更快的推理。

另外,PyTorch 1.8发售了PyTorc

h Mobile Lite 解释器功能,允许用户减少运行时二进制文件的大小。

[Prototype] PyTorch Mobile Lite Interpreter

PyTorch Lite Interpreter 是 PyTorch runtime 的精简版,可在空间受限的设备中执行 PyTorch 程序,并减少二进制文件对存储空间的占用。

与当前版本中的设备运行时相比,这一功能可减少 70% 的二进制文件大小。

性能优化

PyTorch 1.8 中新增对 benchmark utils 的支持,使用户能够更轻松地监控模型性能。另外还新开放了一个自动量化 API。

[测试版] Benchmark utils

Benchmark utils 允许用户进行精确的性能测量,并提供组合工具,帮助制定基准和进行后期处理。

代码示例:

from torch.utils.benchmark import Timer results = [] for num_threads in [1, 2, 4]: timer = Timer( stmt="torch.add(x, y, out=out)", setup=""" n = 1024 x = torch.ones((n, n)) y = torch.ones((n, 1)) out = torch.empty((n, n)) """, num_threads=num_threads, ) results.append(timer.blocked_autorange(min_run_time=5)) print( f"{num_threads} thread{'s' if num_threads > 1 else ' ':<4}" f"{results[-1].median * 1e6:>4.0f} us " + (f"({results[0].median / results[-1].median:.1f}x)" if num_threads > 1 else '') ) 1 thread 376 us 2 threads 189 us (2.0x) 4 threads 99 us (3.8x)

[Prototype] FX Graph Mode Quantization

FX Graph Mode Quantization 是 PyTorch 中新增的自动量化 API。它通过增加函数支持和自动化量化过程,改进 Eager Mode Quantization。

硬件支持

[测试版]强化 PyTorch Dispatcher 的能力,改善 C++ 中后端开发体验

PyTorch 1.8 支持用户在 pytorch/pytorch repo 之外创建新的树外(out-of-tree)设备,并与本地 PyTorch 设备保持同步。

[测试版] AMD GPU 二进制文件现已推出

PyTorch 1.8 新增对 ROCm wheel 的支持,用户只需根据标准 PyTorch 安装选择器,安装选项选择 ROCm,然后执行命令,即可轻松上手使用 AMD GPU。

教程及文档详情,请访问以下链接查看:

https://pytorch.org/blog/pytorch-1.8-released/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。