近期线下活动
现在活动估计还要继续等一等。不过,电影院都已经开门了,估计 OSDT Meetup 很快就要有线下了。
编译社区的八卦信息
最近几天来自平头哥的JOJO同学在 Binutils 邮件列表中提问有关 RISC-V 的向量扩展(V扩展)部分代码为何没进 binutils 主分支,引发了一次很有学习价值的讨论,建议希望参与到 RISC-V 或者 GNU 工具链开发的小伙伴都阅读一下。
Jim Wilson、 Palmer Dabbelt、 Kito Cheng 等人都参与了讨论,并对于在什么阶段草案对应的代码可以被 upstream、什么样的代码需要被厂商自己维护、以及 RISC-V 的各个标准(尤其是 RISC-V V Spec)的实现者与基金会之间的关系等,都有所涉及。本次讨论的价值在于可以通过这20分钟的阅读,对于后续进入相关的社区有一个大概的感觉。
几个结论 / takeaway:
- 上游社区只接受 ratified 的草案标准,也就是说接近最终稿才可以。当还是草案的时候,是在RISCV基金会以及各个公司(例如SiFive、PLCT Lab)自己维护的。
- RISC-V的向量扩展历经 v0.7.1、v0.8、v0.9 已经经历了剧烈的变化,同时支持 v0.7.1 和 v0.9 以及以后的 v1.0 是不太现实的。而正如 Jim Wilson (在另外的关于 RISCV/GCC 仓库的邮件中)指出的,如果有厂商基于 v0.7.1 版本进行了设计和流片,那么不应该叫做 V 扩展,而应该用自己厂商的名称对其重新起名和维护(RISC-V给出了X扩展给各个厂商)。
- 做芯片,没有一个强大的工具链团队是很难的。从 RISC-V 官方支持的工具链保护伞下脱离出来,不管什么原因,代价都蛮高的。
- 平头哥这样的大型企业有实力维护自己的 GNU 和 LLVM 工具链。小企业例如芯来科技等最好不要冒这个险。
GCC
[x86-64 psABI] RFC: Document Intel AMX https://gcc.gnu.org/pipermail/gcc/2020-August/233310.html
[PATCH] SLP: support entire BB. https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551198.html
GCC 10.2: Spurious(?) stringop-overflow warning (not strlen/strcpy/etc.) https://gcc.gnu.org/pipermail/gcc/2020-August/233312.html
[PATCH 0/6] Backport power10 prefixed instruction tests to GCC 10 https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551355.html
[PATCH 0/5][Arm] Add support for conditional instructions (CSEL, CSINC etc.) for Armv8.1-M Mainline https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551339.html
[PATCH PR94442] [AArch64] Redundant ldp/stp instructions emitted at -O3 https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551346.html
Non-inlined functions and mixed architectures https://gcc.gnu.org/pipermail/gcc/2020-August/233319.html
docs: refer to c++20 https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551245.html
[PUSHED 0/8] irange API adjustments for various files https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551268.html
[PATCH 0/2] decouple adjust_range_from_scev from vr_values https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551312.html
Binutils/GDB
[PATCH 0/3] libctf: error handling improvements https://sourceware.org/pipermail/binutils/2020-July/112674.html
Broken GAS DWARF tests https://sourceware.org/pipermail/binutils/2020-July/112646.html
[PATCH 0/2] MIPS: IRIX ELF format symbol table sort/section symbol name fixes https://sourceware.org/pipermail/binutils/2020-July/112626.html
[PATCH, v1] Add DWARF v5 .dwp section encodings to dwarf2.h https://sourceware.org/pipermail/binutils/2020-July/112620.html
GDB: [COMMITTED V7 0/3] eBPF support https://sourceware.org/pipermail/gdb-patches/2020-August/171057.html
GDB: [PATCH v5 0/4] arc: Add GNU/Linux support https://sourceware.org/pipermail/gdb-patches/2020-August/171039.html
GLIBC
glibc 2.32 - Machine testing results. https://sourceware.org/pipermail/libc-alpha/2020-July/116792.html
[PATCH] Add NEWS entry for CVE-2016-10228 (bug 19519) https://sourceware.org/pipermail/libc-alpha/2020-July/116763.html
[PATCH] aarch64: update NEWS about branch protection https://sourceware.org/pipermail/libc-alpha/2020-July/116721.html
[PATCH 00/16] Add y2038 support for stat functions https://sourceware.org/pipermail/libc-alpha/2020-July/116575.html
LLVM/Clang/LLDB/LLD
本节内容来自 LLVM Weekly 第344期, Alex Bradbury 大哥持续稳定输出。
- The 2020 Linux Plumbers Conference will feature an LLVM microconference. RISCV 社区好像也是有一个小会。
Andrzej Warzynski shares a new clang tutorial. clang-tutor provides a collection of out-of-tree plugins for Clang with the intent to making it easier for people to get started developing plugins.
Andrzej Warzynski posted an RFC on refactoring libclangDriver/libclangFrontend to share with Flang.
Johannes Doerfert proposed adding support for heterogeneous LLVM-IR modules.
Petr Hosek shared challenges he's facing related to the recent change in ld.bfd tombstone behaviour with suggestions for handling changes like this in the future.
ORC JIT Weekly #18 reports on the addition of the TargetProcessControl API.
RISC-V Vector MC layer support was updated to bring it in line with the v0.9 draft specification. 47a4a27.
The TableGen GlobalISelEmitter now allows output instructions with multiple defs. ee3feef.
The LLD ELF linker's CallGraphSort was ported to the COFF linker. 763671f.
Support for mutable types was added to MLIR. a518299.
RISC-V in China
- 包云岗老师入选RISC-V基金会BoD🎉
官宣: Welcoming RISC-V International Board Members!
以社区个人身份参选 RISC-V 基金会 BoD 的吴伟(lazyparser)已经得到通知落选,后续继续努力。
The RISC-V International Board of Directors includes:
Krste Asanovic, RISC-V Chairman, University of California Berkeley
David Patterson, RISC-V Vice Chair, Google
Zvonimir Bandic, RISC-V Treasurer, Western Digital
Yungang Bao, Elected RISC-V Strategic level, Institute of Computing Technology, Chinese Academy of Sciences
Richard Bohn, Elected RISC-V Strategic level, Seagate Technology
Ken Dockser, Elected RISC-V Strategic level, Qualcomm
Jesus Labarta, Elected RISC-V Community level, Barcelona Supercomputing Center
Frankwell Lin, Andes Technology
Xiaoning Qi, Alibaba
Naveed Sherwani, SiFive
Frans Sijstermans, NVIDIA
Ted Speers, Microchip
Stefan Wallentowitz, Elected RISC-V Community Individual level, Munich University
Dr. Zhangxi Tan, RIOS Lab
Thomas Xu, StarFive
Naxin Zhang, Huawei
- flt.s 引发的讨论
PLCT Lab V8 小队的 陆亚涵 在做 RISC-V 移植的时候遇到了 flt.s 的问题,在 RISC-V sw-dev 邮件列表发邮件之后,几位大佬进行了激烈的讨论。围绕「是不是硬件设计的bug」、「是不是GDB的bug」、「用户代码有没有bug」等都进行了激烈的分析。半路 Feifei Yang 网友也加入了进来提供了更多的测试结果。来来回回讨论了20封邮件,涉及到 V8 的JIT、V8的内置模拟器、GDB实现、SiFive的CPU实现等讨论。
CNRV的社区一如既往的活跃,时不时有一些新的资料被分享出来。
TVM 社区
风平浪静。
wang-y-z 在一个已经 close/merge 的 issue 上 hijack 问了一个问题,询问TVM对于 MCUNet 的工作有什么评价或者对标:
Nice work and I think always-on tiny machine learning on IoT devices has arrived.
Recently the work MCUNet: Tiny Deep Learning on IoT Devices which implement TinyNAS TinyEngine(a memory-efficient inference library) co-design to find best way to deploy model on to bare-matel device like STM32F746(320kb SRAM / 1MB Flash) is very intersting~ How do you think the difference between MicroTVM and MCUNet?
By the way, can you tell me what's going on about MicroTVM on RICS-V device and if you have plan to support the User defined extensions for RV?
Looking for your brilliant work and your reply~
不过看起来提问的地方不对,6天了没有得到回复。
Mozilla
mach 工具得到了一个新的 logspam 功能。
方舟开源编译器社区
知乎小乖他爹的方舟编译器周报继续更新:
OpenArkCompiler Weekly - #22 August 2nd 2020
社区动态:
社区发布了7月25日会议的官方会议纪要: https://gitee.com/harmonyos/OpenArkCompiler/issues/I1P3VW
社区发布了7月25日会议关于MapleEngine设计分享的PPT: https://gitee.com/openarkcompiler-incubator/maple_engine/attach_files/442121/download
社区发布了7月25日会议关于runtime开源计划的PPT: https://gitee.com/harmonyos/OpenArkCompiler/attach_files/442585/download
Commits:
[cg] cg driver timephase adjust https://gitee.com/harmonyos/OpenArkCompiler/commit/b0835800fdabb4c4eb14a92a4e1c53c9e00427ae
【测试框架】ASSERT的匹配方式scan无法匹配中文等特殊字符 https://gitee.com/harmonyos/OpenArkCompiler/commit/44952edb328b30cd477b94eb91643019924ca4c5
其它社区八卦
欢迎感兴趣的小伙伴提 Pull Requests 完善内容。 我们希望能够尽可能多的扩展下OSDT的覆盖范围。
This Week in Rust: 更了 https://this-week-in-rust.org/blog/2020/07/28/this-week-in-rust-349/
Golang Weekly: 更了 https://golangweekly.com/issues/323
WebAssembly Weekly: 鸽了 https://wasmweekly.news/issue-124/
Academic
风平浪静。
国内有一位老师发表了「NP = P」的论文,在这个经典问题上进行了又一次尝试。不过目前的同行评审结果并不乐观。
本周工具链岗位
阿里巴巴有一个编译器团队新开放了高级编译器工程师的名额,做 GCC 和/或 LLVM 开发,主要是 middle end 优化, Arm 和 RISC-V 后端都是需要和欢迎的。有兴趣的小伙伴欢迎直接联系 马同学 liangbin.mj[at]alibaba-inc.com
PLCT Lab 持续招聘实习生和全职员工。 https://mp.weixin.qq.com/s/mKmZlbZYyMdT3FT-gJjcWA
本周推荐阅读
本周推荐:《天才的回声:经济学大师和他们塑造的世界》
别急,朋友,先别着急关闭本期页面 ;-)
在这个经历了已经懒得数的「百年一遇」的2020,你非常有必要从这本书开始,去理解宏观经济学家跟政客们都在拿什么简陋的模型决定你手里钞票能买多少根鸡腿。目前美国的无限量量化宽松(实际上就是无限量印美钞)、财政部提出的类似的XXX货币化,都有可能让你手里的100块钱,昨天买10根鸡腿,明天变成只能买5根。重要的是,这些其实是有规律可循的。知道这些规律的人可以提前一点点进行躲避,依然能够吃到10个鸡腿。
这本书不是正经的学术著作,也不像《微观经济学》那样可以给你一些直接的公式和真理。但是这本书可以让你先建立起来几百年来的社会、经济、金融运作的一点点规律,找到一点点感觉。这样的感觉会让你在遇到股市的起起伏伏、金融海啸来临前的平静的时候,都能够心态平和(的迎接经济损失)。
「选择比努力重要」这句话,经常被不努力的人拿出来作为不努力的托辞。而实际上其内涵是正确的:努力才有选择的机会,而判断选择的正确与否需要努力的准备和分析。
小编1号尤其想要对刚毕业还没有家庭的年轻人强调这句话:996不是福报,选择比努力重要。少加班,多读书。