2.1.3 如何用Go模拟CPU
如何用Go模拟CPU 蒙卓 华为 – 2012实验室 工程师 成为盘古? 让这个世界里面的人(程序)无法察觉 这个世界是创造出来的 目录 • 计算机的演化历史 – 硬件计算到冯诺伊曼架构 • 构建虚拟世界 – MOS 6502 • 控制单元(control unit) • 运算逻辑单元(arithmetic logic unit) • 6502汇编器与链接器 • 未来目标 1970年程序员 1970年程序员 CPU 80KHz 单核 内存 64KB 手编磁芯 老娘把你送上月球 2021年程序员 CPU 2,400,000KHz 4核 内存 8,000,000KB DDR3 呜呜 App内存不足 外卖下不了单 计算机的演化历史 • 一部偷懒的历史 • 硬件“计算机”时代 • 不擅长计算和记忆的人使用工具帮助计算:算盘,计算尺,手摇计算器 • 硬件计算机改进支持的算法,需要变更或重新发明整个硬件,比如让算 硬件过于复杂 • 软件基于操作系统等复杂概念 • 真的快且便宜 Go模拟CPU • 如何用Go实现冯诺伊曼架构CPU? • 简单:一个循环+一个大数组 读取当前指令 执行指令 下一条指令 模拟目标 – MOS 6502 • 诞生于1975年 • MOS 6502应用范围广 • 资料多且易获得 • 简单、容易实现的现代CPU MOS 6502简介 • 8位,变长ISA(CISC) • 中断(NMI,IRQ)0 码力 | 42 页 | 7.10 MB | 1 年前3Bridging the Gap: Writing Portable Programs for CPU and GPU
1/66Bridging the Gap: Writing Portable Programs for CPU and GPU using CUDA Thomas Mejstrik Sebastian Woblistin 2/66Content 1 Motivation Audience etc.. Cuda crash course Quiz time 2 Patterns Oldschool afterwards7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Algorithms are designed differently Latency/Throughput Memory bandwidth Number of talk7/66 Motivation Patterns The dark path Cuda proposal Thank you Why write programs for CPU and GPU Difference CPU/GPU Why it makes sense? Library/Framework developers Embarrassingly parallel algorithms0 码力 | 124 页 | 4.10 MB | 5 月前3Enabling eBPF Super Powers on ARM64 with Cilium
Enabling eBPF Super Powers on ARM64 with Cilium Jianlin Lv Trevor Tao October 28, 2020 Preface Arm ecosystem of CNI Support Arm64 • Cilium enable on aarch64 • https://github.com/cilium/cilium/issues/9898 issue on Arm64; • Multi-arch support for cilium-related images • CI/CD • Travis • Unit test Travis CI • Arm64 Full VM • arm64-graviton2 • Refer to: • https://docs.travis-ci.com/user/multi-cpu-architectures Demo on Arm64 Future Work • Cilium benchmark on Arm64 • Enable End-To-End Testing Cilium Channel for Arm64 • https://cilium.slack.com/archives/C0125S9TQD8 Confidential Restricted © 2020 Arm Limited0 码力 | 10 页 | 1.24 MB | 1 年前3How and When You Should Measure CPU Overhead of eBPF Programs
How and When You Should Measure CPU Overhead of eBPF Programs Bryce Kahle, Datadog October 28, 2020 Why should I profile eBPF programs? CI variance tracking Tools kernel.bpf_stats_enabled kernel0 码力 | 20 页 | 2.04 MB | 1 年前3Moxa Industrial Linux 3.0 (Debian 11) Manual for Arm-based Computers Version 1.0, January 2023
Manual for Arm-based Computers Version 1.0, January 2023 www.moxa.com/products © 2023 Moxa Inc. All rights reserved. Moxa Industrial Linux 3.0 (Debian 11) Manual for Arm-based Computers ............................................................................ 8 Connecting to the Arm-based Computer ................................................................................... ............................................................................. 24 Localizing Your Arm-based Computer ...................................................................................0 码力 | 111 页 | 2.94 MB | 1 年前3PyConChina2022-杭州-ARM芯片的Python+AI算力优化-朱宏林
ARM 芯片的 Python + AI 算力优化 主讲人: 朱宏林 – 阿里云程序语言与编译器团队 简介 • 当今开发者们大量使用 Python 语言编写的 AI 程序。过去这些程序总跑在 GPU 或者 x86 架构的 CPU 上。然而综合考虑到功耗、成本、性能等因素,云厂商们开始建设 ARM 架构的服务平台,如 何整合 Python + AI 的相关软件并使其在该平台上发挥最高的性能成为了工程师们关注的焦点。 矩阵乘法是深度学习计算的重要组成部分,我们利用 ARM 架构新提供的矩阵扩展对 bf16 类型的 矩阵乘法计算进行优化,该优化将纯矩阵乘法的运算速度提升 3 倍以上,对深度学习推理任务性能 提升明显。目前,该成果已经被集成进 OpenBLAS 和 PyTorch 中。 • 本次演讲,将向大家介绍我们在倚天 710 ARM 芯片上开展的 Python + AI 优化工作,以及在 ARM 云平台上部署 Python Python + AI 任务的最佳实践。 深度学习 • 广泛使用的深度学习框架 • TensorFlow、PyTorch • 结合硬件(ARM 服务端芯片) • 倚天 710 • AWS graviton • 矩阵乘法 • 为什么矩阵乘法是深度学习的核心 • Conv、Linear、Transformers 来源: Why GEMM is at the heart of deep learning0 码力 | 24 页 | 4.00 MB | 1 年前3Linux Lab v1.3 Manual
– https://gitee.com/tinylab/riscv-lab • ARM Lab – Learning embedded ARM software development,merged in Linux Lab Disk for ARM – https://gitee.com/tinylab/arm-lab 9 欢迎加入 Linux Lab 用户组,联系微信:tinylab,公众号:泰晓科技 components have been prebuilt Rootfs Support include initrd, harddisk, mmc and nfs, Debian availab for ARM Docker Cross toolchains from gcc-4.3 available in one command, external ones configurable Access features (e.g. gc-sections) breaks the other kernel features on the main CPU architectures. These scripts uses qemu-system-ARCH as the cpu/board simulator, basic boot+func- tion tests have been done for ftrace+perf0 码力 | 66 页 | 1.12 MB | 1 年前3Linux Lab v1.2 Manual
Disk – https://gitee.com/tinylab/riscv-lab • ARM Lab – Learning embedded ARM software development,merged in Linux Lab Disk – https://gitee.com/tinylab/arm-lab 9 欢迎加入 Linux Lab 用户组,联系微信:tinylab,公众号:泰晓科技 components have been prebuilt Rootfs Support include initrd, harddisk, mmc and nfs, Debian availab for ARM Docker Cross toolchains from gcc-4.3 available in one command, external ones configurable Access features (e.g. gc-sections) breaks the other kernel features on the main CPU architectures. These scripts uses qemu-system-ARCH as the cpu/board simulator, basic boot+func- tion tests have been done for ftrace+perf0 码力 | 67 页 | 1.13 MB | 1 年前3Linux Lab v1.1 Manual
Disk – https://gitee.com/tinylab/riscv-lab • ARM Lab – Learning embedded ARM software development,merged in Linux Lab Disk – https://gitee.com/tinylab/arm-lab 9 欢迎加入 Linux Lab 用户组,联系微信:tinylab,公众号:泰晓科技 components have been prebuilt Rootfs Support include initrd, harddisk, mmc and nfs, Debian availab for ARM Docker Cross toolchains from gcc-4.3 available in one command, external ones configurable Access features (e.g. gc-sections) breaks the other kernel features on the main CPU architectures. These scripts uses qemu-system-ARCH as the cpu/board simulator, basic boot+func- tion tests have been done for ftrace+perf0 码力 | 65 页 | 1.12 MB | 1 年前3Linux Lab v1.1 中文手册
Linux 实 验盘 – https://gitee.com/tinylab/riscv-lab • ARM Lab – 用于学习嵌入式 ARM 软件开发,已集成到 Linux Lab Disk,即泰晓 Linux 实验盘 – https://gitee.com/tinylab/arm-lab 9 欢迎加入 Linux Lab 用户组,联系微信:tinylab,公众号:泰晓科技 1.3 11, v2.6.10 ~ v5.x 3 预置组件 提供上述组件的预先编译版本,并按开发板分类存放,可即时下载使用 4 根文件系统 支持 initrd,harddisk,mmc 和 nfs; ARM 架构提供 Debian 系统 5 Docker 包括 gcc-4.3 在内的交叉工具链已预先安装,还可灵活配置并下载外部交叉工具链 6 灵活访问 支持本地或网络访问,支持命令行和图形界面,支持 6.4 v0.4 @ 2020.06.01 v0.4 通过提升镜像下载速度、优化 make 性能、完善登陆方式等进一步完善使用体验,同 时首次为 64 位 ARM 架构的 aarch64/virt 新增 U-Boot 支持并升级 arm/vexpress-a9 的 U-Boot 到当前最新版本,另外,修复了一处新内核下在容器内插入 NFSD 模块导致的系统卡 死问题。 • v0.4 rc30 码力 | 70 页 | 1.53 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100