Giter Site home page Giter Site logo

plct-open-reports's People

Contributors

amyzxf avatar chenjy9581 avatar chunyuliao avatar coelacanthushex avatar helen-zah avatar ieast avatar lazyparser avatar liaoshihua avatar lighghteeloo avatar lucas-wye avatar luyahan avatar mengls666 avatar mollybuild avatar pz9115 avatar sforekeeper avatar shaoshitong avatar sharzyl avatar thomasyonug avatar unicornx avatar wangyingkai-hunter avatar williamwangpeng avatar wtr-math avatar wusiyu avatar xinlong-wu avatar yayaleyyl avatar yqszxx avatar yulong18 avatar zenithalhourlyrate avatar zhanghb97 avatar zhengzhiwen123 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  avatar  avatar  avatar  avatar  avatar  avatar

plct-open-reports's Issues

gem5 RVV向量扩展多核下配置的正确方法

因为课题需求,现在我在gem5上配置 带 RVV VectorEngine的多核硬件,每一个CPU内部都有一个RVV VectorEngine,并且是接到L1D Cache上(即没有VectorCache),配置脚本 是这个

预期的配置如下
config

然而我在运行一个RVV向量加法程序a + b = c时,发生计算错误:c没有被赋值

怀疑有可能是配置的方式有问题,可以的话想向各位请教正确的配置方法!!

gem5 RISCV-Vector-Engine 运行时部分算子未找到

仓库 gem5向量扩展
环境 WSL2 Ubuntu20.04
Python Python2.7.18
分支 develop
Commit 692bcd05441baeb49482015f767b61d92eef5dc3

在运行benchmark时(blackscholes_vector.exe),遇到了以下警告:算子的运算单元未找到

warn: CheckedInt already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: Enum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
warn: ScopedEnum already exists in allParams. This may be caused by the Python 2.7 compatibility layer.
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version [DEVELOP-FOR-V20.1]
gem5 compiled Jan  6 2022 17:53:18
gem5 started Jan  7 2022 10:01:00
gem5 executing on DESKTOP-9F2JKA5, pid 1176
command line: /mnt/d/AC/gem5/build/RISCV/gem5.opt /mnt/d/AC/gem5/configs/example/riscv_vector_engine.py '--cmd=/mnt/d/AC/gem5/riscv-vectorized-benchmark-suite/_jacobi-2d/bin/jacobi-2d_vector.exe 1 /mnt/d/AC/gem5/riscv-vectorized-benchmark-suite/_jacobi-2d/input/in_256.input output_vector.txt'

Global frequency set at 1000000000000 ticks per second
warn: DRAM device capacity (32768 Mbytes) does not match the address range assigned (2048 Mbytes)
warn: Unknown operating system; assuming Linux.
warn: No functional unit for OpClass VectorArith1Src
warn: No functional unit for OpClass VectorArith2Src
warn: No functional unit for OpClass VectorArith3Src
warn: No functional unit for OpClass VectorMaskLogical
warn: No functional unit for OpClass VectorReduction
warn: No functional unit for OpClass VectorConvertIntToFP
warn: No functional unit for OpClass VectorConvertFPToInt
warn: No functional unit for OpClass VectorWConvertFPToInt
warn: No functional unit for OpClass VectorWConvertIntToFP
warn: No functional unit for OpClass VectorWConvertFPToFP
warn: No functional unit for OpClass VectorNConvertFPToInt
warn: No functional unit for OpClass VectorNConvertIntToFP
warn: No functional unit for OpClass VectorNConvertFPToFP
warn: No functional unit for OpClass VectorFPCompare
warn: No functional unit for OpClass VectorIntCompare
warn: No functional unit for OpClass VectorSlideUp
warn: No functional unit for OpClass VectorSlideDown
warn: No functional unit for OpClass VectorToScalar
warn: No functional unit for OpClass VectorMemoryLoad
warn: No functional unit for OpClass VectorMemoryStore
warn: No functional unit for OpClass VectorConfig
0: system.remote_gdb: listening for remote gdb on port 7000

分析运行结束后的stats.txt时,却发现这些算子是有被调用的

system.cpu.op_class_0::VectorArith1Src           1600      0.01%     98.47% # Class of committed instruction
system.cpu.op_class_0::VectorArith2Src         227200      0.96%     99.43% # Class of committed instruction
system.cpu.op_class_0::VectorArith3Src          62400      0.26%     99.69% # Class of committed instruction
system.cpu.op_class_0::VectorMaskLogical            0      0.00%     99.69% # Class of committed instruction
system.cpu.op_class_0::VectorReduction              0      0.00%     99.69% # Class of committed instruction
system.cpu.op_class_0::VectorConvertIntToFP         6400      0.03%     99.72% # Class of committed instruction
system.cpu.op_class_0::VectorConvertFPToInt         9600      0.04%     99.76% # Class of committed instruction
system.cpu.op_class_0::VectorWConvertFPToInt            0      0.00%     99.76% # Class of committed instruction
system.cpu.op_class_0::VectorWConvertIntToFP            0      0.00%     99.76% # Class of committed instruction
system.cpu.op_class_0::VectorWConvertFPToFP            0      0.00%     99.76% # Class of committed instruction
system.cpu.op_class_0::VectorNConvertFPToInt            0      0.00%     99.76% # Class of committed instruction
system.cpu.op_class_0::VectorNConvertIntToFP            0      0.00%     99.76% # Class of committed instruction
system.cpu.op_class_0::VectorNConvertFPToFP            0      0.00%     99.76% # Class of committed instruction
system.cpu.op_class_0::VectorFPCompare          11200      0.05%     99.81% # Class of committed instruction
system.cpu.op_class_0::VectorIntCompare          1600      0.01%     99.82% # Class of committed instruction
system.cpu.op_class_0::VectorSlideUp                0      0.00%     99.82% # Class of committed instruction
system.cpu.op_class_0::VectorSlideDown              0      0.00%     99.82% # Class of committed instruction
system.cpu.op_class_0::VectorToScalar               0      0.00%     99.82% # Class of committed instruction
system.cpu.op_class_0::VectorMemoryLoad          9600      0.04%     99.86% # Class of committed instruction
system.cpu.op_class_0::VectorMemoryStore         1600      0.01%     99.86% # Class of committed instruction
system.cpu.op_class_0::VectorConfig             32000      0.14%    100.00% # Class of committed instruction

请问这些数据是否能表明这些算子是真实被调用的(即是否可靠的?)?并且警告该如何解决(比如:是否需要切换commit?)?

关于greedy register allocation 里 edge bundles的使用

region split的过程中使用了edge bundles的信息,我想请教一下具体什么样的Basic Block才会bundle在一起,将这样的BB bundle在一起对寄存器分配来说,其含义是什么?
另外,请问后续会有greedy register allocation 的实现细节的分享吗?

cmo 中flush的疑问

20220105-史玉龙-CMO指令介绍.pdf

关于这个分享,有几个疑问想请教下:

  • ppt中说 flush operation——执行invalidate operation之后的clean operation,invalidate和clean的顺序是不是反了?

    这里我看了spec,原文是
    A flush operation atomically performs a clean operation followed by an invalidate operation

    followed by,应该是表明先clean 再 invalidate。先把内容刷到memory,在inval cache。

  • 另外,这里的flush是为了【原子性的执行】 先clean 再 invalidate,在arm中的理解 flush只是执行一个写入传
    输到另一个缓存或者内存,所以在arm中的flush应该是等同riscv cmo中的clean吧,感觉有点怪

关于删除RISCV中的CD指令

您好~:
我目前在做关于LLVM移植的工作,想问下您,怎么屏蔽掉RISCV中的C,D指令子集?需要关注哪些文件?

gnu gcc testsuite测试方法咨询

安装好riscv-gnutoolchain之后在编译目录下执行make check-gcc RUNTESTFLAGS="--
target_board=riscv-sim testfile.exp execute.exp",compile测试pass,execute测试fail,结果如下:
image

分析:可能是测试平台的原因,x86平台上执行riscv测试,解决方法如下:

  1. 按照网上相关方法(https://gcc.gnu.org/simtest-howto.html)和文档中所提到的方法(https://github.com/plctlab/PLCT-Open-Reports/blob/master/20210310-GNU-GCC-Testsuite-chenxiaoou.pdf),建立conbined tree ,再configure,make,出现以下结果:
    image

2.按照PLCT实验室测试方法(https://github.com/liujiawei929/GNU-Toolchain),../configure --prefix=$RISCV
make -j4 , make report-gcc-newlib 2>&1|tee rv64_newlib-reportgccnewlib.log出现如下问题:
image
请问我该用哪种方法可以顺利执行execute测试,上面两种问题该怎么解决,谢谢。

关于GNU的测试框架的提问

请问GNU的测试框架的官方详细说明在哪里呀?
我对GNU官方测试用例的指示符“dg-skip-if”的具体书写格式和模板还是不太明白;虽然您的视频里有过讲解,如下图:
image
但我在运行RVV相关的测试时遇到了错误时:
image
测试用例是这么写的:
image
就不太明白它pass或fail的标准是什么了。

孙少策同学 在LLVM中为RISCV添加自定义拓展汇报中

按照操作流程执行后。当我输入clang --target=riscv32-unknown-elf -menable-experimental-extensions -march=rv32gxplct0p1 -S test.c
遇到如下报错:clang-15: error: invalid arch name 'rv32gxplct0p1', unsupported version number 0.1 for extension 'xplct'。

如若输入:echo "plct a0,a1,a2"|llvm-mc --triple=riscv32 -mattr=+experimental-xplct -show-encoding
报错如下:'+experimental-xplct' is not a recognized feature for this target (ignoring feature)

恳请指正

关于玄铁riscv-binutils汇编器中生成扩展指令测试案例测试失败的请教

1.在玄铁工具链中,仿照xuantie-gnu-toolchain/riscv-binutils/gas/testsuite/gas/riscv/THead/fp16-script里面的脚本写出inst_rd_rs1_rs2_imm2类型的指令,如addsl,在testlist中也添加了相关指令的声明,相关脚本和具体的gas.log信息见附件所示,脚本文件传不上去改成了文本文档。
inst_rd_rs1_imm5_imm2_case.txt
inst_rd_rs1_rs2_imm2_case.txt
gas.log

2.在上述目录下运行./gen_case.sh c906 ,生成测试案例
3.在build/build-binutils-linux文件下运行make check,addsl测试案例错误部分错误信息如下。
regexp_diff match failure
regexp "^[ ]+ 6bc:[ ]+05ff9f8b [ ]+addsl[ ]+x31,x31,x31,2$"
line " 6bc: 05ff9f8b addsl x31,x31,x31,2"
FAIL: gas/riscv/THead/case-fp16/inst_rd_rs1_rs2_imm2/good_case/addsl
在匹配.d文件时后面出现了"$"导致匹配出错,不知道什么原因。

如何编译生成带intrinsic的llvm-ir, @llvm.riscv.xxx

你好,

我看到目前前端clang从riscv intrinsic已经可以编译成llvm ir, 那么后端基于带riscv intrinsic的llvm ir (@llvm.riscv.xxx)可以顺利编译成RISCV 可执行文件吗, 编译命令 和 目标target参数如何设置呢

image

Proposal on moving these large binary files to a proper file storage service

AFAIK git is good at managing text based files and mainly for version control. And it seems we are using this repo as a file storage service of big binary files. When someone wants to add something to this repo, it's a must for her/him to clone or at least pull all irrelevant big chunks before addition can be commited, which makes no sense to me.

So is that better we move the contents of this repo to a proper file storage service like S3?

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.