07 FPGA 助力Python加速计算 陈志勇的主要应用领域 Python 工程师关心的问题 3 Python 工程师开发嵌入式产品的时候哪些地方可能会遇到性能瓶颈? Ø 传统的计算平台:基于通用处理器的架构,Intel x86 Ø 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 Ø 嵌入式计算: Ø 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专 Ø 并行计算:多处理器、多线程计算 Ø 分布式计算引擎:Spark Ø 并行计算语言(函数式编程):Scala Ø 加速方法: Ø 算法的优化 Ø 算法的并行化 Ø CPU: 多核 CPU Ø GPU: 多核处理器 Ø 硬件仿真:算法计算在FPGA里实现,输入和输出在 PC 端实现。 Ø Hardware in the loop simulation 加速计算 (Accelerate Computing) 8/16-bit GoogleNet v3 • Face Detection • Yolo-v2 for object detection Supported Server Platforms • Intel x86 Supported FaaS • AWS F1 Xilinx Alveo PCIe 加速卡 • U50, U200, U250, U280 Ø 开发套件: Machine learning0 码力 | 34 页 | 6.89 MB | 1 年前3
2_FPGA助力Python加速计算_陈志勇的主要应用领域 Python 工程师关心的问题 3 Python 工程师开发嵌入式产品的时候哪些地方可能会遇到性能瓶颈? Ø 传统的计算平台:基于通用处理器的架构,Intel x86 Ø 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 Ø 嵌入式计算: Ø 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专 Ø 并行计算:多处理器、多线程计算 Ø 分布式计算引擎:Spark Ø 并行计算语言(函数式编程):Scala Ø 加速方法: Ø 算法的优化 Ø 算法的并行化 Ø CPU: 多核 CPU Ø GPU: 多核处理器 Ø 硬件仿真:算法计算在FPGA里实现,输入和输出在 PC 端实现。 Ø Hardware in the loop simulation 加速计算 (Accelerate Computing) 8/16-bit GoogleNet v3 • Face Detection • Yolo-v2 for object detection Supported Server Platforms • Intel x86 Supported FaaS • AWS F1 Xilinx Alveo PCIe 加速卡 • U50, U200, U250, U280 Ø 开发套件: Machine learning0 码力 | 33 页 | 8.99 MB | 1 年前3
FPGA助力Python加速计算 陈志勇 的主要应用领域 Python 工程师关心的问题 3 Python 工程师开发嵌入式产品的时候哪些地方可能会遇到性能瓶颈? ➢ 传统的计算平台:基于通用处理器的架构,Intel x86 ➢ 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 ➢ 嵌入式计算: ➢ 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专 ➢ 并行计算:多处理器、多线程计算 ➢ 分布式计算引擎:Spark ➢ 并行计算语言(函数式编程):Scala ➢ 加速方法: ➢ 算法的优化 ➢ 算法的并行化 ➢ CPU: 多核 CPU ➢ GPU: 多核处理器 ➢ 硬件仿真:算法计算在FPGA里实现,输入和输出在 PC 端实现。 ➢ Hardware in the loop simulation 加速计算 (Accelerate Computing) 8/16-bit GoogleNet v3 • Face Detection • Yolo-v2 for object detection Supported Server Platforms • Intel x86 Supported FaaS • AWS F1 Xilinx Alveo PCIe 加速卡 • U50, U200, U250, U280 ➢ 开发套件: Machine learning0 码力 | 34 页 | 4.19 MB | 1 年前3
PyConChina2022-杭州-ARM芯片的Python+AI算力优化-朱宏林ARM 芯片的 Python + AI 算力优化 主讲人: 朱宏林 – 阿里云程序语言与编译器团队 简介 • 当今开发者们大量使用 Python 语言编写的 AI 程序。过去这些程序总跑在 GPU 或者 x86 架构的 CPU 上。然而综合考虑到功耗、成本、性能等因素,云厂商们开始建设 ARM 架构的服务平台,如 何整合 Python + AI 的相关软件并使其在该平台上发挥最高的性能成为了工程师们关注的焦点。 向量化 GEMM • 优化 GEMM • 内存布局:矩阵分块;重排 • 向量化指令:AVX、NEON • 硬件加速 • Nvidia Volta 架构引入 tensor core • Intel AMX, Advanced Matrix Extension • ARM SME, Scalable Matrix Extension • CPU 存在优势场景,但当前尚没有可大规模使用 AMX0 码力 | 24 页 | 4.00 MB | 1 年前3
4 Python机器学习性能优化了解你的资源 cpu/内存/io/gpu GPU为什么“快”? 计算⼒对⽐ • GFLOPS/s 每秒浮点数计算次数 摩尔定律的限制 • “集成电路路上可容纳的晶体管数⽬目,约每⼗十⼋八个⽉月便便会增加⼀一倍” CPU更更多⽤用在了了Cache(L1/L2/L3)和Control GPU绝⼤大部分⽤用来在了了ALU计算单元 GPU特性 • SIMD • 显存分级 4 动⼿优化 多线程服务器的问题 • 每个请求单独进GPU,利利⽤用率不不⾼高 • ⼤大量量请求并⾏行行,CUDA会爆 • wrk截图 service-streamer • 请求排队组装成batch,再⼀一起送进GPU • ⼀一个GPU worker只会有⼀一条队列列,最⼤大batch size可控 • 多个GPU worker分布式处理理 • todo:补图 batch 感谢知乎cuBERT提供的c++实现 • ⽤用pybind11⼀一波封装 • 再加上正经多线程 model inference optimize • 终于到了了我们直觉的优化部分 • 先补了了补GPU和Cuda的知识 • ⼏几个可以选择的⽅方案: 1. 买更更多更更贵的机器器——fp16、v100、cpu化 2. 优化算法——知识蒸馏 3. 优化实现——jit/TensorRT PyTorch0 码力 | 38 页 | 2.25 MB | 1 年前3
8 4 Deep Learning with Python 费良宏 字符、词、从句、句子等等 语音– 音频、频段、波长、调制等等 ... 深度学习的优势 特性自动推导和预期结果的优化调整 可变的自动学习的健壮性 重用性-相同的神经网络的方法可用于许多应用和数据 类型 通过利用GPU的大规模并行计算-可扩展的大容量数据 深度学习的开发框架 Torch (NYU,2002), Facebook AI, Google Deepmind Theano (University of 最好的"胶水"代码用于研究、快速开发 iPython, 数据可视化 丰富的框架资源Theano, Kersa, TensorFlow 海量的社区、开源的支持 为什么需要 GPU? 为什么需要 GPU? CPU - 指令并行执行,数据并行运算 GPU - 矩阵类型的数值计算,尤其浮点运算 建立自己的深度学习的应用环境 适用于 深度学习的 AWS G2实例 – 4个NVIDIA GRID GPUs, 每1个包括了 pycuda 深度学习的应用环境- 检查GPU 深度学习的应用环境- THEANO ~/.theanorc 深度学习的应用环境- THEANO 深度学习的应用环境- THEANO 我的第一个Theano 程序 深度学习的应用环境- THEANO 深度学习的应用环境- THEANO 我的第一个Theano 程序 深度学习的应用环境- THEANO GPU vs. CPU TENSORFLOW0 码力 | 49 页 | 9.06 MB | 1 年前3
PyConChina2022-上海-用GitHub完成Python的全技术栈开发-卢建晖JupyterLab 令人愉快的 笔记本编辑、数据探索和叙事构建体验 与 Codespace 的强大、标准化和简单 性结合在一起。 Codespaces 支持 GPU 啦 从 Codespace 中访问 GPU 可以让开发人员更快地运行复杂的 ML 模型,GPU 的组合以及对 Jupyter 笔记本和 Codespaces 标准化、 可重复环境的支持使得数据科学和 ML 工作负载的协作变得更加容易, 因为0 码力 | 24 页 | 4.86 MB | 1 年前3
1 Python在Azure Notebook产品发展中的核心地位 以及通过Visual Studio Code的最佳Azure实践 韩骏vs 意大利灵缇犬 深度学习 “黑盒” 狗 ? (0.96) 猫 ? Cat (0.03) 其他 (0.01) 需要解决的问题 深度学习 • 相对于机器学习,严重依赖于高端机,大量的 GPU 运算 • 高端机的成本高 开发工具 • 复杂的工具链 • 搭建环境花费时间 深度学习 à Azure Machine Learning 开发工具 à Azure Notebook Azure 1. 安装 Azure Machine Learning SDK 2. 连接到 Azure Machine Learning 的 Workspace 3. 创建远程运算资源 —— NC6 GPU machines 4. 上传训练数据 5. 准备 training script 6. 把 training 任务提交到 Azure Machine Learning 1. 创建 experiment0 码力 | 55 页 | 14.99 MB | 1 年前3
2 使用Python训练和部署低精度模型 张校捷使用低精度的意义 深度学习模型中实数的表示 FP32: E8M23 FP16: E8M7 FP16: E5M10 Int8 (TPU, tf.bfloat16) (tf.float32) (GPU, tf.float16) 低精度浮点数的优点 1.节约内存/显存的使用(FP16为原来的1/2,int8为原来的1/4) 2.特殊的硬件专门用于低精度浮点数的计算加速(TensorCore) deb文件安装libnvinfer.so 同时安装Python wheel文件tensorrt-6.0.1.5-cp37-none-linux_x86_64.whl 3. 安装TensorFlow 1.14 (GPU版本) 或者直接使用 Docker镜像: docker pull nvcr.io/nvidia/tensorflow:19.07-py3 TensorFlow中使用TensorRT 1. SavedModel使用TensorRT0 码力 | 24 页 | 981.45 KB | 1 年前3
5 Python深度学习实践初步修改 业务升级 实践指南 1 从hello world开始 以深度学习的第一个案例MNIST为例 学习Tensorflow框架的使用及代码编写风格 理解TF Mac CPU运行结果 GPU运行结果 TPU运行结果 TPU的创建和使用 TPU训练MNIST的改动 TPU训练MNIST的改动 https://www.tensorflow.org/guide/distribute_strateg0 码力 | 38 页 | 4.85 MB | 1 年前3
共 96 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10













