Giter Site home page Giter Site logo

plct-weekly's Introduction

PLCT开源进展(月刊)

我们在招聘!实习生,应届生,社会人,外星人,统统都招!

您可以通过 本仓库 进行订阅,每个月都会更新PLCT实验室在开源领域的情报和分析,敬请期待 🎉

变更记录

  • 从2021年3月1日开始,「PLCT开源基础软件进展(半月刊)」升级为 「PLCT开源进展(月刊)」
  • 从2020年5月1日开始,PLCT Weekly 升级为 「PLCT开源基础软件进展(半月刊)」
  • 自2020年3月起转入知乎专栏更新,不再通过HelloGCC公众号同步推送。

plct-weekly's People

Contributors

bekcpear avatar chunyuliao avatar dinglizhang avatar hanliutong avatar ieast avatar imkiva avatar infiwang avatar jiewu-plct avatar joy2myself avatar ksco avatar lazyparser avatar liweiwei90 avatar luxufan avatar luyahan avatar mingcongbai avatar mollybuild avatar nickcao avatar pz9115 avatar qjivy avatar realfyang avatar shining1984 avatar taoliq avatar unicornx avatar wxjstz avatar xiejiss avatar xijing21 avatar yunwei37 avatar zhanghb97 avatar zhangxiang-plct avatar zifeihan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plct-weekly's Issues

如何获取关于qemu/spike的书

hi,
我前端时间在spike里添加了用户自定义指令的支持,但目前spike不能满足我们的仿真需求,需要用到qemu,但我们对qemu了解不多,请问如何能够获取你们的相关书籍呢?

Go的debug工具Delve

https://github.com/go-delve/delve
要检查go程序的coredump,不能用gdb,而是要用这个工具。不知道它对RV的支持如何?

更新:
service/debugger/debugger.go:32:2: found packages native (dump_linux.go) and your_linux_architecture_is_not_supported_by_delve (support_sentinel_linux.go) in /home/.../delve/pkg/proc/native

是否可以添加 The Aya Theorem Prover 到月报模板中?

即在 YYYY-MM-DD.md 中任意处添加以下内容

+## The Aya Theorem Prover

起因:Aya 小组将从 8 月起(即 2022-09-01.md)使用自动化工具实现月报自动生成并向本仓库提交 PR。为了精准地(指不伤害其他小组的内容)向模板文件中添加内容,我们需要一个显著的 marker 进行文本替换(例如 sed)。

关于TRSR005

请问TRSR005全职是否有实习期;如果有的话,实习期工资如何计算,谢谢!

Aya team logs since 60 days ago

Remains to be copied to 2022-12 report.

Misc

  • Tagged 2 new alpha releases
  • Wrote the first tutorial: https://www.aya-prover.org/guide/haskeller-tutorial.html
    • Assumed Haskell knowledge for simplicity
  • The binary distribution now ships the standard library candidate
  • We have some very basic synthetic homotopy theory results and theorems about natural numbers!

The Aya Theorem Prover

Watch Aya Prover

Watch Aya Intellij Plugin

简单的Gin示范代码无法在Milkv-duo 256的Buildroot镜像上运行

系统信息

[root@milkv-duo]~# cat /etc/os-release 
NAME=Buildroot
VERSION=20231230-2325
ID=buildroot
VERSION_ID=2021.05
PRETTY_NAME="Buildroot 2021.05"

golang代码如下(也尝试了Golang的HTTP Server,Socket等等简单案例代码,都是和下面报错的信息一样,runtime: epollcreate failed with 38),只有不使用网络的Helloworld,打印等等案例可以正常执行。

package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "pong",
		})
	})
	r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}

使用的交叉编译命令(相同命令编译的Helloworld程序可以在milkv上运行)
GOARCH=riscv64 go build -o ping ping.go

使用ld库检查可执行程序ping的依赖情况,提示无依赖需求
[root@milkv-duo]~# /lib64/ld-musl-riscv64v0p7_xthead.so.1 --list ping
/lib64/ld-musl-riscv64v0p7_xthead.so.1: ping: Not a valid dynamic program

以下是ping程序的运行报错信息

[root@milkv-duo]~# ./ping
runtime: epollcreate failed with 38
fatal error: runtime: netpollinit failed

goroutine 1 [running, locked to thread]:
runtime.throw({0x41857b?, 0xa9cb8?})
        /mnt/MyNAS/walker/.bin/go/src/runtime/panic.go:1047 +0x44 fp=0x3fa429f5e8 sp=0x3fa429f5c0 pc=0x4347c
runtime.netpollinit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/netpoll_epoll.go:28 +0x1b4 fp=0x3fa429f658 sp=0x3fa429f5e8 pc=0x3f4a4
runtime.netpollGenericInit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/netpoll.go:197 +0x64 fp=0x3fa429f668 sp=0x3fa429f658 pc=0x3e9bc
internal/poll.runtime_pollServerInit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/netpoll.go:189 +0x20 fp=0x3fa429f670 sp=0x3fa429f668 pc=0x6d940
sync.(*Once).doSlow(0xf7f84?, 0xf7eb4?)
        /mnt/MyNAS/walker/.bin/go/src/sync/once.go:74 +0xf4 fp=0x3fa429f6c0 sp=0x3fa429f670 pc=0x7b9b4
sync.(*Once).Do(...)
        /mnt/MyNAS/walker/.bin/go/src/sync/once.go:65
internal/poll.(*pollDesc).init(0x3fa40faaf8, 0x3fa40faae0?)
        /mnt/MyNAS/walker/.bin/go/src/internal/poll/fd_poll_runtime.go:39 +0x64 fp=0x3fa429f6d8 sp=0x3fa429f6c0 pc=0xf2094
internal/poll.(*FD).Init(0x3fa40faae0, {0x402670?, 0x80000?}, 0x9c?)
        /mnt/MyNAS/walker/.bin/go/src/internal/poll/fd_unix.go:63 +0xa0 fp=0x3fa429f6f0 sp=0x3fa429f6d8 pc=0xf29e8
os.newFile(0x3, {0x3fa43b0810, 0xa}, 0x1)
        /mnt/MyNAS/walker/.bin/go/src/os/file_unix.go:190 +0x1bc fp=0x3fa429f728 sp=0x3fa429f6f0 pc=0xf7fe4
os.openFileNolog({0x3fa43b0810, 0xa}, 0x0, 0x0)
        /mnt/MyNAS/walker/.bin/go/src/os/file_unix.go:250 +0x19c fp=0x3fa429f768 sp=0x3fa429f728 pc=0xf81fc
os.OpenFile({0x3fa43b0810, 0xa}, 0x0, 0x0?)
        /mnt/MyNAS/walker/.bin/go/src/os/file.go:326 +0x64 fp=0x3fa429f798 sp=0x3fa429f768 pc=0xf7704
os.Open(...)
        /mnt/MyNAS/walker/.bin/go/src/os/file.go:306
google.golang.org/protobuf/internal/detrand.binaryHash()
        /mnt/MyNAS/walker/go/pkg/mod/google.golang.org/[email protected]/internal/detrand/rand.go:46 +0x48 fp=0x3fa429f858 sp=0x3fa429f798 pc=0x310690
google.golang.org/protobuf/internal/detrand.init()
        /mnt/MyNAS/walker/go/pkg/mod/google.golang.org/[email protected]/internal/detrand/rand.go:38 +0x20 fp=0x3fa429f860 sp=0x3fa429f858 pc=0x310910
runtime.doInit(0x704120)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:6506 +0x12c fp=0x3fa429f990 sp=0x3fa429f860 pc=0x535bc
runtime.doInit(0x704160)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:6483 +0x78 fp=0x3fa429fac0 sp=0x3fa429f990 pc=0x53508
runtime.doInit(0x707de0)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:6483 +0x78 fp=0x3fa429fbf0 sp=0x3fa429fac0 pc=0x53508
runtime.doInit(0x708dc0)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:6483 +0x78 fp=0x3fa429fd20 sp=0x3fa429fbf0 pc=0x53508
runtime.doInit(0x70b100)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:6483 +0x78 fp=0x3fa429fe50 sp=0x3fa429fd20 pc=0x53508
runtime.doInit(0x701fe0)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:6483 +0x78 fp=0x3fa429ff80 sp=0x3fa429fe50 pc=0x53508
runtime.main()
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:233 +0x1d0 fp=0x3fa429ffd8 sp=0x3fa429ff80 pc=0x45ab0
runtime.goexit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/asm_riscv64.s:512 +0x4 fp=0x3fa429ffd8 sp=0x3fa429ffd8 pc=0x7281c

goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:381 +0x110 fp=0x3fa403afb0 sp=0x3fa403af98 pc=0x45f68
runtime.goparkunlock(...)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:387
runtime.forcegchelper()
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:305 +0xc8 fp=0x3fa403afd8 sp=0x3fa403afb0 pc=0x45da0runtime.goexit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/asm_riscv64.s:512 +0x4 fp=0x3fa403afd8 sp=0x3fa403afd8 pc=0x7281c
created by runtime.init.5
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:293 +0x28

goroutine 3 [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:381 +0x110 fp=0x3fa403b788 sp=0x3fa403b770 pc=0x45f68
runtime.goparkunlock(...)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:387
runtime.bgsweep(0x0?)
        /mnt/MyNAS/walker/.bin/go/src/runtime/mgcsweep.go:278 +0xa8 fp=0x3fa403b7c8 sp=0x3fa403b788 pc=0x32228
runtime.gcenable.func1()
        /mnt/MyNAS/walker/.bin/go/src/runtime/mgc.go:178 +0x2c fp=0x3fa403b7d8 sp=0x3fa403b7c8 pc=0x26f44
runtime.goexit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/asm_riscv64.s:512 +0x4 fp=0x3fa403b7d8 sp=0x3fa403b7d8 pc=0x7281c
created by runtime.gcenable
        /mnt/MyNAS/walker/.bin/go/src/runtime/mgc.go:178 +0x70

goroutine 4 [GC scavenge wait]:
runtime.gopark(0x3fa4050000?, 0x4a23b8?, 0x0?, 0x0?, 0x0?)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:381 +0x110 fp=0x3fa403bf80 sp=0x3fa403bf68 pc=0x45f68
runtime.goparkunlock(...)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:387
runtime.(*scavengerState).park(0x757d40)
        /mnt/MyNAS/walker/.bin/go/src/runtime/mgcscavenge.go:400 +0x68 fp=0x3fa403bfa8 sp=0x3fa403bf80 pc=0x30100
runtime.bgscavenge(0x0?)
        /mnt/MyNAS/walker/.bin/go/src/runtime/mgcscavenge.go:628 +0x50 fp=0x3fa403bfc8 sp=0x3fa403bfa8 pc=0x30658
runtime.gcenable.func2()
        /mnt/MyNAS/walker/.bin/go/src/runtime/mgc.go:179 +0x2c fp=0x3fa403bfd8 sp=0x3fa403bfc8 pc=0x26ee4
runtime.goexit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/asm_riscv64.s:512 +0x4 fp=0x3fa403bfd8 sp=0x3fa403bfd8 pc=0x7281c
created by runtime.gcenable
        /mnt/MyNAS/walker/.bin/go/src/runtime/mgc.go:179 +0xb0

goroutine 5 [finalizer wait]:
runtime.gopark(0x3fa403a590?, 0x11?, 0xd0?, 0x4d?, 0x3eb760?)
        /mnt/MyNAS/walker/.bin/go/src/runtime/proc.go:381 +0x110 fp=0x3fa403a5a8 sp=0x3fa403a590 pc=0x45f68
runtime.runfinq()
        /mnt/MyNAS/walker/.bin/go/src/runtime/mfinal.go:193 +0x100 fp=0x3fa403a7d8 sp=0x3fa403a5a8 pc=0x26050
runtime.goexit()
        /mnt/MyNAS/walker/.bin/go/src/runtime/asm_riscv64.s:512 +0x4 fp=0x3fa403a7d8 sp=0x3fa403a7d8 pc=0x7281c
created by runtime.createfing
        /mnt/MyNAS/walker/.bin/go/src/runtime/mfinal.go:163 +0x64

能否做一期关于不同编译器代码速度的评测?

首先,我对代码速度的理解是:用不同的编译器,例如clang、gcc,编译同一个Benchmark,例如Coremark,然后在同样的测试环境中(例如Spike、QEMU)比较Benchmark的得分。
我用Coremark分别测试了Clang9.0.0和GCC9.2.0在不同优化选项的情况下,在Spike上面的跑分情况,设定CPI=1(不考虑Cache miss),时钟频率为48MHz,单核,得到的Coremark跑分如下:

Clang9.0.0-O2 Clang9.0.0-O3 Clang9.0.0-Os Gcc9.2.0-O2 Gcc9.2.0-O3 Gcc9.2.0-Os
RV32 CodeSpeed 2.752 2.758 2.58 3.201 3.256 2.645
RV64 CodeSpeed 2.571 2.584 2.427 3.197 3.246 2.683

从上表可以看到,Clang除了Os优化选项和GCC比较接近外,其他选项基本上只有GCC性能的80%左右。

BTW,还有一些问题:

  1. 我不清楚这样的评测是否具有意义,毕竟没有考虑数据冲突、结构冲突、Cache miss、多发射、多核等这些情况,关于具体的测试步骤和测试环境可能还需要特别强调?
  2. 关于Benchmark的选择,Coremark是否具有代表性?或许可以选择一些更好的测试程序?例如:https://github.com/embench/embench-iot

修改 PLCT Weekly 仓库名字

很显然现在仓库的名字已经无法覆盖仓库的内容了。但是新的名字选什么合适,还是一个 open question。

有5*8h的全职工作,是否可以远程兼职?

本人日常工作是全栈开发的,对基础的软硬件技术有很大的兴趣,所以想借机会深入的学习一些知识,并贡献一些自己的能力。

在LINUX操作系统方面,主要是用的比较多,但是系统运行原理方面也了解一些,还懂一些编译和汇编方面的知识

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.