 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内存不足 外卖下不了单 计算机的演化历史 • 一部偷懒的历史 • 硬件“计算机”时代 • 不擅长计算和记忆的人使用工具帮助计算:算盘,计算尺,手摇计算器 • 硬件计算机改进支持的算法,需要变更或重新发明整个硬件,比如让算 计算机的演化历史 • 改硬件太麻烦了,还慢 • 继电器计算机 • 1937年贝尔实验室:model k • 计算一次复数速度30-40s,手摇计算机15分 钟 • 从织布机来源的灵感,可使用纸片打孔的方 式编写程序(patch的来源) • 真空管计算机 • 1946年 ENIAC,由于减少了继电器的机械装 置速度更快,但寿命短。 • 因为真空管会发光,吸引飞蛾(bug的来源)0 码力 | 42 页 | 7.10 MB | 1 年前3 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内存不足 外卖下不了单 计算机的演化历史 • 一部偷懒的历史 • 硬件“计算机”时代 • 不擅长计算和记忆的人使用工具帮助计算:算盘,计算尺,手摇计算器 • 硬件计算机改进支持的算法,需要变更或重新发明整个硬件,比如让算 计算机的演化历史 • 改硬件太麻烦了,还慢 • 继电器计算机 • 1937年贝尔实验室:model k • 计算一次复数速度30-40s,手摇计算机15分 钟 • 从织布机来源的灵感,可使用纸片打孔的方 式编写程序(patch的来源) • 真空管计算机 • 1946年 ENIAC,由于减少了继电器的机械装 置速度更快,但寿命短。 • 因为真空管会发光,吸引飞蛾(bug的来源)0 码力 | 42 页 | 7.10 MB | 1 年前3
 Bridging the Gap: Writing Portable Programs for CPU and GPU1/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 | 6 月前3 Bridging the Gap: Writing Portable Programs for CPU and GPU1/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 | 6 月前3
 使用 TEX 写文档KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展 系统 Why TEX 优点 比较 HowTo LATEX 文档基本结构 一个简单例子 正文排版 讨论和演示 使用 TEX 写文档 王晓东 wxd2870@163.com 中国海洋大学 September 4, 2012 KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展0 码力 | 65 页 | 1.07 MB | 1 年前3 使用 TEX 写文档KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展 系统 Why TEX 优点 比较 HowTo LATEX 文档基本结构 一个简单例子 正文排版 讨论和演示 使用 TEX 写文档 王晓东 wxd2870@163.com 中国海洋大学 September 4, 2012 KevinW@OUC 王晓东 大纲 What’s TEX 历史 扩展0 码力 | 65 页 | 1.07 MB | 1 年前3
 使用 Graphviz 绘画 UML 图使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 目录 1 简介 2 1.1 使用 Graphviz dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 类图 4 2.1 继承 . . . . . . . . . . . . . . . . . . Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去描述我们想要画什么,表示我们的软件设计。 1.1 使用 Graphviz dot 首先,下载 Graphviz 安装包。macOS 用户可以 brew install graphviz。 建立一个测试源文件 hello.dot(DOT 语言为 Graphviz Department -> Employeee } } Company Department * Employeee * 2.5 依赖 依赖(depedency)关系说明一个类会使用到另一个类,例如表示以一个类作为成员方法的参 数或返回值。UML 中采用线形箭头和虚线表示。以下的例子表示工厂创建产品,常见于各种 工厂模式,工厂不拥有产品。 digraph { node [shape=box0 码力 | 20 页 | 331.51 KB | 1 年前3 使用 Graphviz 绘画 UML 图使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 目录 1 简介 2 1.1 使用 Graphviz dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 类图 4 2.1 继承 . . . . . . . . . . . . . . . . . . Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去描述我们想要画什么,表示我们的软件设计。 1.1 使用 Graphviz dot 首先,下载 Graphviz 安装包。macOS 用户可以 brew install graphviz。 建立一个测试源文件 hello.dot(DOT 语言为 Graphviz Department -> Employeee } } Company Department * Employeee * 2.5 依赖 依赖(depedency)关系说明一个类会使用到另一个类,例如表示以一个类作为成员方法的参 数或返回值。UML 中采用线形箭头和虚线表示。以下的例子表示工厂创建产品,常见于各种 工厂模式,工厂不拥有产品。 digraph { node [shape=box0 码力 | 20 页 | 331.51 KB | 1 年前3
 FFMPEG 镜像使用指南FFMPEG 镜像使用指南 镜像环境说明 镜像版本说明 操作系统:centos 6.5 64 位 软件:ffmpeg version 3.0.2 - static 镜像安装说明 1. 在镜像环境中,/alidata/install/ 目录中是安装镜像环境的脚本,您可以在 centos 6.5 系统中自行采用此脚本安装,安装后的环境跟镜像里初始化的环境一 致。 2. 在镜像环境中,使用 在镜像环境中,使用 ffmpeg 官方( http://ffmpeg.org )下载的软件包,加 以便捷配置,方便客户使用。 软件目录及配置列表 软件的主目录:/alidata/server/ffmpeg 软件运行目录:/alidata/server/ffmpeg/bin/ 已经连接到 /bin/ 目录中。 init 目录: /alidata/init 为当用户用镜像创建系统0 码力 | 2 页 | 71.75 KB | 1 年前3 FFMPEG 镜像使用指南FFMPEG 镜像使用指南 镜像环境说明 镜像版本说明 操作系统:centos 6.5 64 位 软件:ffmpeg version 3.0.2 - static 镜像安装说明 1. 在镜像环境中,/alidata/install/ 目录中是安装镜像环境的脚本,您可以在 centos 6.5 系统中自行采用此脚本安装,安装后的环境跟镜像里初始化的环境一 致。 2. 在镜像环境中,使用 在镜像环境中,使用 ffmpeg 官方( http://ffmpeg.org )下载的软件包,加 以便捷配置,方便客户使用。 软件目录及配置列表 软件的主目录:/alidata/server/ffmpeg 软件运行目录:/alidata/server/ffmpeg/bin/ 已经连接到 /bin/ 目录中。 init 目录: /alidata/init 为当用户用镜像创建系统0 码力 | 2 页 | 71.75 KB | 1 年前3
 使用硬件加速Tokio - 戴翔第三届中国 Rust 开发者大会 使用硬件加速 Tokio 演讲人: Loong.Dai, Cathy.Lu Loong Dai • Intel 云原生工程师 • 微软 MVP • Dapr 、 Thanos 、 Golangci-lint 的 Maintainer • 现在主要专注于服务网格领域,探索云原生软硬件结 合新范式 • Github ID: daixiang0 自我介绍 Software Producer Consumer Consumer Consumer • Synchronization latency • Memory/Cache latency • CPU cycles latency DLB : Dynamic Load Balance DLB Enqueue Logic Head and Tail pointers Dequeue Logic Producer Consumer Consumer Consumer • No Synchronization latency • No memory/cache latency • No CPU cycles DLB-Assist Channel Intro Hardware Senders Receive Senders Senders Receive Receivers Channel/Queue0 码力 | 17 页 | 1.66 MB | 1 年前3 使用硬件加速Tokio - 戴翔第三届中国 Rust 开发者大会 使用硬件加速 Tokio 演讲人: Loong.Dai, Cathy.Lu Loong Dai • Intel 云原生工程师 • 微软 MVP • Dapr 、 Thanos 、 Golangci-lint 的 Maintainer • 现在主要专注于服务网格领域,探索云原生软硬件结 合新范式 • Github ID: daixiang0 自我介绍 Software Producer Consumer Consumer Consumer • Synchronization latency • Memory/Cache latency • CPU cycles latency DLB : Dynamic Load Balance DLB Enqueue Logic Head and Tail pointers Dequeue Logic Producer Consumer Consumer Consumer • No Synchronization latency • No memory/cache latency • No CPU cycles DLB-Assist Channel Intro Hardware Senders Receive Senders Senders Receive Receivers Channel/Queue0 码力 | 17 页 | 1.66 MB | 1 年前3
 夏歌-使用Rust构建LLM应用第三届中国 Rust 开发者大会 使用 Rust 构建 LLM 应用 夏歌 SECTION TITLE SECTION TITLE 我们能不能直接用 Rust • 训练 • 推理 • AI 应用相关的工具 • WASI-NN spec • WasmEdge 已经支持 Pytorch 、 TensorFlow Lite • WASI-NN 2.0 比如 Langchain Rewrite 招 Rust 开发太难了 Low code Rust Rust 在系统编程已经取得了巨大成功 培养更广泛的 Rust 开发 围绕 LLM 生态封装相应的 Rust 框 架,让开发者能够使用简单的 Rust 写 应用 如何用 Rust 实现的 构建和部署 AI 相关工作流的 serverless 平台 • 上传 Rust function ,平台负责将 Rust 编译成 Wasm 平台是为 Rust 和 WebAssembly 设计的 视频演示如何使用 serverless 的方式部署 一个 PR review 机器人。 待插入视频,大概是 2 分钟的录屏 Talk is cheap, show me the code! • Telegram ChatGPT 机器 人 • PR Review 机器人 使用 Rust 构建基于 ChatGPT 的 Telegram 机器人0 码力 | 36 页 | 38.31 MB | 1 年前3 夏歌-使用Rust构建LLM应用第三届中国 Rust 开发者大会 使用 Rust 构建 LLM 应用 夏歌 SECTION TITLE SECTION TITLE 我们能不能直接用 Rust • 训练 • 推理 • AI 应用相关的工具 • WASI-NN spec • WasmEdge 已经支持 Pytorch 、 TensorFlow Lite • WASI-NN 2.0 比如 Langchain Rewrite 招 Rust 开发太难了 Low code Rust Rust 在系统编程已经取得了巨大成功 培养更广泛的 Rust 开发 围绕 LLM 生态封装相应的 Rust 框 架,让开发者能够使用简单的 Rust 写 应用 如何用 Rust 实现的 构建和部署 AI 相关工作流的 serverless 平台 • 上传 Rust function ,平台负责将 Rust 编译成 Wasm 平台是为 Rust 和 WebAssembly 设计的 视频演示如何使用 serverless 的方式部署 一个 PR review 机器人。 待插入视频,大概是 2 分钟的录屏 Talk is cheap, show me the code! • Telegram ChatGPT 机器 人 • PR Review 机器人 使用 Rust 构建基于 ChatGPT 的 Telegram 机器人0 码力 | 36 页 | 38.31 MB | 1 年前3
 Rust在Substrate 开发框架中的使用孙凯超 Rust 在 Substrate 开发框架 中的使用 内容 ● Rust 简介 ● Rust 特性 ● Why blockchain ● 什么是Substrate ● Substrate Runtime 组件 ● Substrate 应用开发 Bugs from Chrome Rust 简介 Performance Safety C, C++ Java JS, Python0 码力 | 37 页 | 967.22 KB | 1 年前3 Rust在Substrate 开发框架中的使用孙凯超 Rust 在 Substrate 开发框架 中的使用 内容 ● Rust 简介 ● Rust 特性 ● Why blockchain ● 什么是Substrate ● Substrate Runtime 组件 ● Substrate 应用开发 Bugs from Chrome Rust 简介 Performance Safety C, C++ Java JS, Python0 码力 | 37 页 | 967.22 KB | 1 年前3
 PyWebIO v1.8.2 使用手册PyWebIO 发布 1.8.2 Weimin Wang 2023 年 06 月 04 日 使用手册 1 特性 3 2 Installation 5 3 Hello, world 7 4 Documentation 9 4.1 User’s guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 应用或基于浏览器的 GUI 应用。使用 PyWebIO,开发者能像编写终端 脚本一样 (基于 input 和 print 进行交互) 来编写应用,无需具备 HTML 和 JS 的相关知识;PyWebIO 还可以方 便地整合进现有的 Web 服务。非常适合快速构建对 UI 要求不高的应用。 使用手册 1 PyWebIO, 发布 1.8.2 2 使用手册 CHAPTER1 特性 • 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然 Python 版本在 3.5.2 及以上 5 PyWebIO, 发布 1.8.2 6 Chapter 2. Installation CHAPTER3 Hello, world 这是一个使用 PyWebIO 计算 BMI 指数 的脚本: from pywebio.input import input, FLOAT from pywebio.output import put_text0 码力 | 137 页 | 1.76 MB | 1 年前3 PyWebIO v1.8.2 使用手册PyWebIO 发布 1.8.2 Weimin Wang 2023 年 06 月 04 日 使用手册 1 特性 3 2 Installation 5 3 Hello, world 7 4 Documentation 9 4.1 User’s guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 应用或基于浏览器的 GUI 应用。使用 PyWebIO,开发者能像编写终端 脚本一样 (基于 input 和 print 进行交互) 来编写应用,无需具备 HTML 和 JS 的相关知识;PyWebIO 还可以方 便地整合进现有的 Web 服务。非常适合快速构建对 UI 要求不高的应用。 使用手册 1 PyWebIO, 发布 1.8.2 2 使用手册 CHAPTER1 特性 • 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然 Python 版本在 3.5.2 及以上 5 PyWebIO, 发布 1.8.2 6 Chapter 2. Installation CHAPTER3 Hello, world 这是一个使用 PyWebIO 计算 BMI 指数 的脚本: from pywebio.input import input, FLOAT from pywebio.output import put_text0 码力 | 137 页 | 1.76 MB | 1 年前3
 PyWebIO v1.2.3 使用手册出,将浏览器变成了一个“富文本终端”,可以用于构建简单的Web应用或基于 浏览器的GUI应用。 使用PyWebIO,开发者能像编写终端脚本一样(基于input 和print进行交互)来编写应用,无需具备HTML和JS的相关知识; PyWebIO还可 以方便地整合进现有的Web服务。非常适合快速构建对UI要求不高的应用。 特性 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然 非声明式布局,布局方式简单高效 com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO要求 Python 版本在 3.5.2 及以上 Hello, world 这是一个使用PyWebIO计算 BMI指数 [https://en.wikipedia.org/wiki/Body_mass_index] 的脚 本: from pywebio.input import input break if __name__ == '__main__': bmi() 如果没有使用PyWebIO,这只是一个非常简单的脚本,而通过使用PyWebIO提 供的输入输出函数,你可以在浏览器中与代码进行交互: 将上面代码最后一行对 bmi() 的直接调用改为使用 pywebio.start_server(bmi, port=80) 便可以在80端口提供 bmi() 服务(0 码力 | 119 页 | 7.44 MB | 1 年前3 PyWebIO v1.2.3 使用手册出,将浏览器变成了一个“富文本终端”,可以用于构建简单的Web应用或基于 浏览器的GUI应用。 使用PyWebIO,开发者能像编写终端脚本一样(基于input 和print进行交互)来编写应用,无需具备HTML和JS的相关知识; PyWebIO还可 以方便地整合进现有的Web服务。非常适合快速构建对UI要求不高的应用。 特性 使用同步而不是基于回调的方式获取输入,代码编写逻辑更自然 非声明式布局,布局方式简单高效 com/wang0618/pywebio/repository/archive.zip 系统要求: PyWebIO要求 Python 版本在 3.5.2 及以上 Hello, world 这是一个使用PyWebIO计算 BMI指数 [https://en.wikipedia.org/wiki/Body_mass_index] 的脚 本: from pywebio.input import input break if __name__ == '__main__': bmi() 如果没有使用PyWebIO,这只是一个非常简单的脚本,而通过使用PyWebIO提 供的输入输出函数,你可以在浏览器中与代码进行交互: 将上面代码最后一行对 bmi() 的直接调用改为使用 pywebio.start_server(bmi, port=80) 便可以在80端口提供 bmi() 服务(0 码力 | 119 页 | 7.44 MB | 1 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100














 
  
 