FPGA助力Python加速计算 陈志勇FPGA 助力 Python 加速计算 陈志勇 高级技术市场经理 安富利电子科技 2019年10月19日,北京 2 ➢ Python 语言:易学易读易用、可扩展性、可移植性等。 ➢ Python 开发工具:库丰富、效率高、调试方便 ➢ Python 的应用: 人工智能、数据分析等 ➢ Python 的生态环境:软件平台、硬件平台、方案合作伙伴等 ➢ 用 Python 如何开发嵌入式产品?如何实现 工程师开发嵌入式产品的时候哪些地方可能会遇到性能瓶颈? ➢ 传统的计算平台:基于通用处理器的架构,Intel x86 ➢ 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 ➢ 嵌入式计算: ➢ 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专用计算机系统,它一般由嵌入式微处理器、外围硬件设备、 嵌入 式操作系统以及用户的应用程序等四个部分组成。 式操作系统以及用户的应用程序等四个部分组成。 ➢ 嵌入式系统促使计算机的形态和性能更加小型化,多功能,低功耗. ➢ 加速计算: ➢ 如何提高计算效率,提高计算性能 ➢ 加速计算框架的考虑 ➢ 加速计算平台的考虑 ➢ FPGA 是如何作为加速平台的?在边缘和云端 Python 与嵌入式计算 4 ➢ FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的0 码力 | 34 页 | 4.19 MB | 1 年前3
07 FPGA 助力Python加速计算 陈志勇FPGA 助力 Python 加速计算 陈志勇 高级技术市场经理 安富利电子科技 2019年10月20日,深圳 2 Ø Python 语言:易学易读易用、可扩展性、可移植性等。 Ø Python 开发工具:库丰富、效率高、调试方便 Ø Python 的应用: 人工智能、数据分析等 Ø Python 的生态环境:软件平台、硬件平台、方案合作伙伴 等 Ø 用 Python 如何开发嵌入式产品?如何实现 工程师开发嵌入式产品的时候哪些地方可能会遇到性能瓶颈? Ø 传统的计算平台:基于通用处理器的架构,Intel x86 Ø 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 Ø 嵌入式计算: Ø 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专用计算机系统,它一般由嵌入式微处理器、外围硬件设备、 嵌入 式操作系统以及用户的应用程序等四个部分组成。 式操作系统以及用户的应用程序等四个部分组成。 Ø 嵌入式系统促使计算机的形态和性能更加小型化,多功能,低功耗. Ø 加速计算: Ø 如何提高计算效率,提高计算性能 Ø 加速计算框架的考虑 Ø 加速计算平台的考虑 Ø FPGA 是如何作为加速平台的?在边缘和云端 Python 与嵌入式计算 4 Ø FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的0 码力 | 34 页 | 6.89 MB | 1 年前3
2_FPGA助力Python加速计算_陈志勇FPGA 助力 Python 加速计算 陈志勇 高级技术市场经理 安富利电子科技 2019年9月21日, 上海 2 Ø Python 语言:易学易读易用、可扩展性、可移植性等。 Ø Python 开发工具:库丰富、效率高、调试方便 Ø Python 的应用: 人工智能、数据分析等 Ø Python 的生态环境:软件平台、硬件平台、方案合作伙伴等 Ø 用 Python 如何开发嵌入式产品?如何实现 工程师开发嵌入式产品的时候哪些地方可能会遇到性能瓶颈? Ø 传统的计算平台:基于通用处理器的架构,Intel x86 Ø 新的嵌入式计算平台:MCU,DSP,FPGA,GPU、ASSP等 Ø 嵌入式计算: Ø 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能、可靠 性、成本、体积、功耗有严格要求的专用计算机系统,它一般由嵌入式微处理器、外围硬件设备、 嵌入 式操作系统以及用户的应用程序等四个部分组成。 式操作系统以及用户的应用程序等四个部分组成。 Ø 嵌入式系统促使计算机的形态和性能更加小型化,多功能,低功耗. Ø 加速计算: Ø 如何提高计算效率,提高计算性能 Ø 加速计算框架的考虑 Ø 加速计算平台的考虑 Ø FPGA 是如何作为加速平台的?在边缘和云端 Python 与嵌入式计算 4 Ø FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的0 码力 | 33 页 | 8.99 MB | 1 年前3
邓良驹 编写更安全的Python代码编写安全的Python代码 邓良驹 2019.10.19 思考题 if user.balance >= product.price: user.balance -= product.price ? 目录 CONTENTS 常见不安全代码 代码检查的工具 总结:如何规避风险 常见不安全代码 小心 eval 应对: 在生产环境中,任何情况下都不要使用eval。 import sys "__main__": shellcode = pickle.dumps(ShellExp()) pickle.loads(shellcode) 应对: 绝不对不可信/未认证数据进行unpickle,使用更安全的JSON 或YAML做序列化。必须使用pickle时在沙盒环境执行。 小心 PyYAML 应对: 使用yaml.safe_load,必要时编写自定义 Loader 做更严格的检查。 对不可信来源的序列化检查后操作。 有的甚至是故意、恶意为之。 应对: 谨慎选择第三方 PyPI 包,尽量少导入 PyPI 包; 利用 https://pyup.io/ 等服务保持检查和更新依赖; 利用 Chef InSpect 落实代码安全规范的检查。 *参考资料:“驹说码事” 《如何import一个不存在的对象》 https://mp.weixin.qq.com/s/0_ivKVDU-nKf3r-c96sqrA 利用 Bandit0 码力 | 18 页 | 988.40 KB | 1 年前3
3 Thautwarm 解放python的表达力 性能和安全性 语法和语义扩展 JIT 静态检查解放Python的 表达力,性能和安全性 Thautwarm 目录 CONTENTS 语法和语义扩展 JIT 静态类型 语法和语义扩展 表达力的扩展, 可用性的保留,白来的午餐? 演示一小部分: 模式匹配, Quick Lambda, Pipe运算 语言决定思维模型 GNU-APL C++ Haskell 说 到 质 数 � 人 们 想 到 什 么 � 语言决定思维模型 method, 和普通的Python代码差不多,由cython和restrain优 化,性能比Python代码强一些。 Base method里有一个监督器,每一次进入base method的调用,都会计算每一个参数的type id, 所有 参数的typeid组成了一个tuple, 这个tuple被添加到一 个叫jit_call_recorder的尾部。 jit_call_recorder根据调用记录唤醒jit 54 -> 0.59 3.14 -> 0.93 2.00 -> 0.03 2.60 -> 0.96 如果还有时间,我们用静态类型 来写一个简单的网页生成框架 一个用起来,没有学习曲线的框架。 很安全,因为没有程序员需要付出心 智负担的工作。 THANK YOU thautwarm: - github.com/thautwarm - twshere@outlook.com0 码力 | 43 页 | 10.71 MB | 1 年前3
Python 标准库参考指南 3.7.13 正则表达式操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 6.3 difflib --- 计算差异的辅助工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.4 textwrap --- 文本自动换行与填充 Mac OS X .plist 文件 . . . . . . . . . . . . . . . . . . . . . . . 466 15 加密服务 469 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 15.2 hmac --- 基于密钥的消息验证 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 15.3 secrets --- 生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . 480 16 通用操作系统服务 483 16.1 os --- 操作系统接口模块0 码力 | 1846 页 | 9.09 MB | 9 月前3
Python 标准库参考指南 3.7.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.3 difflib --- 计算差异的辅助工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.4 textwrap --- 文本自动换行与填充 OS X .plist 文件 . . . . . . . . . . . . . . . . . . . . . . . . . 494 15 加密服务 497 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 15.2 hmac --- 基于密钥的消息验证 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 16 通用操作系统服务 513 16.1 os ---0 码力 | 1961 页 | 9.14 MB | 9 月前3
Python 标准库参考指南 3.6.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.3 difflib —计算差异的辅助工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.4 textwrap —文本自动换行与填充 Mac OS X .plist 文件 . . . . . . . . . . . . . . . . . . . . . . . . . 484 15 加密服务 487 15.1 hashlib —安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 15.2 hmac —基于密钥的消息验证 —基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 15.3 secrets —生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 16 通用操作系统服务 503 16.1 os —操作系统接口模块0 码力 | 1886 页 | 8.95 MB | 9 月前3
Python 标准库参考指南 3.6.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.3 difflib —计算差异的辅助工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.4 textwrap —文本自动换行与填充 Mac OS X .plist 文件 . . . . . . . . . . . . . . . . . . . . . . . . . 484 15 加密服务 487 15.1 hashlib —安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 15.2 hmac —基于密钥的消息验证 —基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 15.3 secrets —生成安全随机数字用于管理密码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 16 通用操作系统服务 503 16.1 os —操作系统接口模块0 码力 | 1886 页 | 8.95 MB | 9 月前3
Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.3 difflib --- 计算差异的辅助工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 6.4 textwrap --- 文本自动换行与填充 Mac OS X .plist 文件 . . . . . . . . . . . . . . . . . . . . . . . 496 15 加密服务 499 15.1 hashlib --- 安全哈希与消息摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499 15.2 hmac --- 基于密钥的消息验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 15.3 secrets --- 生成管理密码的安全随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 16 通用操作系统服务 513 16.1 os --- 多种操作系统接口0 码力 | 1927 页 | 9.69 MB | 9 月前3
共 149 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15













