使用硬件加速Tokio - 戴翔第三届中国 Rust 开发者大会 使用硬件加速 Tokio 演讲人: Loong.Dai, Cathy.Lu Loong Dai • Intel 云原生工程师 • 微软 MVP • Dapr 、 Thanos 、 Golangci-lint 的 Maintainer • 现在主要专注于服务网格领域,探索云原生软硬件结 合新范式 • Github ID: daixiang0 自我介绍0 码力 | 17 页 | 1.66 MB | 1 年前3
硬件创业公司的Rust应用和转型 - 陈昱衡第三届中国Rust开发者大会 硬件创业公司的Rust应用和转型 演讲人:陈昱衡 鹿仔科技联合创始人 CTO 鹿仔科技(重庆)有限公司 公司介绍 鹿 仔 科 技 ( 重 庆 ) 有 限 公 司 于 2 0 2 1 年 8 月 1 0 日 由 香 港 科 技 大 学 李 泽 湘 教 授 体 系 X b o t p a r k 旗 下 重 庆 明 月 湖 国 际 智 能 产 业 科 创 基 团队未来愿景 类QML的语法 Cargo 社区 胶囊测温仪 Slint踩坑 开荒 分页表格 悬浮球 隐藏页面 Tab滑动页面 可变图表 后续Rust人才跟进 开源工作室 LAB5604 从硬件到SOC软核到IDE全自研且开源的RISCV学习套件 人才培养方案 鹿仔科技东莞研发中心现为 东莞理工学院校外实训基地 并将Rust列入培养方案中 希望以此培养更多Rust嵌入式 人才 预计明年开放嵌入式Rust的HC0 码力 | 23 页 | 4.95 MB | 1 年前3
Comprehensive Rust(简体中文) 202412cript......:你可以得到和这些语言相同的内存安全特性,并拥 有类似的使用高级语言的感受。同时你可以得到类似 C 和 C++ 的高速且可预测的执行性能(无垃圾 回收机制),以及在需要时对底层硬件的访问。 4.3 Playground The Rust Playground provides an easy way to run short Rust programs, and is the behind a shared reference can be safely cached in a register for the lifetime of that reference. • 借用检查器专用于处理许多常见模式,例如同时对结构体中的不同字段进行独占引用。但在某些情 况下,它并不能完全“领会”您的意图,这往往会导致“与借用检查器进行一番斗争”。 22.3 内部可变性 In some situations 156 } fn test_multiple_words() { assert_eq!(first_word("Hello World"), "Hello"); } } • 这样一来,您可以对专用帮助程序进行单元测试。 • 仅当您运行 cargo test 时,#[cfg(test)] 属性才有效。 在 Playground 中运行测试显示测试结果。 27.2 其他类型的测试 集成测试0 码力 | 359 页 | 1.33 MB | 10 月前3
Rust 语言学习笔记每次升级都要更新相应的工具链。保证最新的编译器和链接器可以将新生成的 程序生成出来。 Rust 的包管理系统非常明显地体现了它的与众不同。 1.3 版本管理工具 作为一门更新快速的语言,rust 开发了专用的版本管理工具 rustup。 对于 go 而言,不需要对这些东西进行了解,只需要下载包安装到环境变量中即 可。 而 rust 的开发中经常会遇到配置不同的 toolchain 等需求,因此官方开发了 if x % 5 == 0 { done = true; } } while 条件判断的类型必须是 bool 类型。 2.3.3 loop loop 专用于无限循环,好处是对编译和运行进行了优化,跳过了表达式检查。 2.3.4 break 和 continue Rust 也提供了 break 和 continue 两个关键字用来控制循环的流程。 5.2.1 原子类型锁 原子类型是最简单的控制共享资源访问的一种机制,相比较于后面将介绍的锁 而言,原子类型不需要开发者处理加锁和释放锁的问题,同时支持修改,读取 等操作,还具备较高的并发性能,从硬件到操作系统,到各个语言,基本都支 持。在标准库 std::sync::atomic 中,你将在里面看到 Rust 现有的原子类型, 包括 AtomicBool,AtomicIsize,AtomicPtr,AtomicUsize。这0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0只在键尚不存在时插入键值对 我们经常会检查某个特定的键是否已经存在于哈希 map 中并进行如下操作:如果哈希 map 中键已经存在则不做任何操作;如果不存在则连同值一块插入。 为此哈希 map 有一个专用的 API,叫做 entry,它获取我们想要检查的键作为参数。entry 函 数的返回值是一个枚举 Entry 它代表了可能存在也可能不存在的值。比如说我们想要检查黄队 的键是否关联了一个值。如果没有,就插入值 然而,这并不是一个理想的解决方案:如果让程序仅仅处理 1 到 100 之间的值是一个绝对需 要满足的要求,而且程序中的很多函数都有这样的要求,在每个函数中都有这样的检查将是非 常冗余的(并可能潜在地影响性能)。 相反我们可以在一个专用的模块中创建一个新类型来将验证放入创建其实例的函数中,而不是 到处重复这些检查。这样就可以安全地在函数签名中使用新类型并相信它们接收到的值。示例 9-13 中展示了一个定义 Guess 类型的方法,只有在 共享状态的方法。对于高级语言 来说,只实现可能解决方案的子集是一个合理的策略,因为高级语言所许诺的价值来源于牺牲 一些控制来换取抽象。然而对于底层语言则期望提供在任何给定的情况下有着最高的性能且对 硬件有更少的抽象。因此,Rust 提供了多种工具,以符合实际情况和需求的方式来为问题建 模。 如下是本章将要涉及到的内容: • 如何创建线程来同时运行多段代码。 • 消息传递(Message pas0 码力 | 562 页 | 3.23 MB | 22 天前3
Rust语言核心竞争力-庄晓立sometimes be used to reduce this problem. https://en.wikipedia.org/wiki/System_programming 系统编程 • 对硬件的控制(嵌入式, OS) • 对系统底层的控制(OS, kernel, driver) • 对CPU和内存的高效利用(Server, OS) • 对运算性能的高要求 • 对系统安全和内存安全的强需求 内存/硬盘 • 电力 • 网络流量 • 其他设备和人员维护费用 都是白花花的银子,“硬件很便宜”的说法不靠 谱 你能买最新硬件,对手也能,无助于提升竞争力 物联网 • 需要大批量部署,必须控制硬件成本 • 受限于成本控制,硬件性能不强 • 受限于电池供电,功耗不能高 这就要求系统和应用软件要高效利用硬件 程序运行在VM上,或后台跑GC 白白浪费了宝贵的CPU和内存资源 Rust在系统编程领域0 码力 | 51 页 | 1.09 MB | 1 年前3
KCL: Rust 在编译器领域的实践与探索可以用统一的组织和操作界面定义应用交付生命周期,充分 利用Kubernetes和云的混合能力,通过端到端的交付工作 流程,真正实现集中定义、随处交付。 KusionStack 架构 • KCL:面向应用研发者的 配置策略专用高级编程语 言,及其协议组,工具链及 IDE 插件 • Kusion:运维引擎、工具 链、服务层,IDE 工作空间 及社区技术集成套件 • Konfig:应用配置及基础 模型共享仓库,及面向0 码力 | 25 页 | 3.50 MB | 1 年前3
Rust 程序设计语言简体中文版输入到终端的行都以 $ 开头。你不需要输入 $ 字符;这里显示的 $ 字符表示命令行提示符,仅用于提示 每行命令的起点。不以 $ 起始的行通常展示前一个命令的输出。另外,PowerShell 专用的示例会采用 > 而不是 $ 。 在 Linux 或 macOS 上安装 rustup 如果你使用 Linux 或 macOS,打开终端并输入如下命令: $ curl --proto '=https' 递并发功能,但只有模糊不清的在线程间共享状态的方法。对于高级语言来说,只实现可能解 决方案的子集是一个合理的策略,因为高级语言所许诺的价值来源于牺牲一些控制来换取抽 象。然而对于底层语言则期望提供在任何给定的情况下有着最高的性能且对硬件有更少的抽 象。因此,Rust 提供了多种工具,以符合实际情况和需求的方式来为问题建模。 如下是本章将要涉及到的内容: • 如何创建线程来同时运行多段代码。 • 消息传递(Message pas ,我知道我在干什么。” 不过千万注意,使用不 安全 Rust 风险自担:如果不安全代码出错了,比如解引用空指针,可能会导致不安全的内存 使用。 另一个 Rust 存在不安全一面的原因是:底层计算机硬件固有的不安全性。如果 Rust 不允许进 行不安全操作,那么有些任务则根本完成不了。Rust 需要能够进行像直接与操作系统交互, 甚至于编写你自己的操作系统这样的底层系统编程!这也是 Rust 语言的目标之一。让我们看0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust OS 开源操作系统训练营的教与学-0615-李明rCore/uCore 内核 二阶段 完成5个OS编程大实验 (2周) ArceOS 组件化 操作系统 三阶段 Hypervisor 虚拟化技术 四阶段 完成1个OS组件或驱动 (4周) 完成1个硬件虚拟化适配 (4周) 台阶式向上迈进 训练营的教学/实习安排 • 春夏季训练营 • 4.1 ~ 6.30 共3个月 • 暑期实习生计划 • 7.1 ~ 8.31 共2个月 • 秋冬季训练营 2023春夏季OS训练营案例总结 2023.4 ~ 2023.7 学员报名情况 • 以在校大学生/研究生为主 • 占比约 70% 学员技术背景调查 • 入营前的技术栈分布相对比较均衡,硬件驱动方向略多 教学安排 • 2023 春夏季训练营 • 4.3 ~ 6.30 共3个月 • 上课时间 • 每周一三五晚上8-9点 • 课程安排 • 共12周,36次课 • 12位主讲老师0 码力 | 26 页 | 2.62 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人的技术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 生态体系,保持对全球科技竞争的战略均衡。 海致高性能图计算院士专家工作站 海致获得“ 2021 年 CCF 科学技术奖科技进步卓越奖” CCF 科学技术奖被认为是计算机科学与技术领域最具影响力的专业奖项之一, 一致性(事 务) • 高性能 • 低资源消耗 • 易用 • 功能丰富 AtlasGraph 关键特性 云原生 Cloud-Native Graph Database 支持弹性伸缩,有 效利用硬件资源,高可用,高 可靠,故障自愈,低成本运维 HTAP Hybrid Transactional/Analytical Processing ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复0 码力 | 38 页 | 24.68 MB | 1 年前3
共 16 条
- 1
- 2













