工作日更

今日我进行了大量思考,究竟想要干什么样的工作。在 leader 开会时跟我说别干 RIF 了,但老板其实在 群里说了转成内部项目继续做,我也认同了继续做。一时间疑惑、愤怒涌上了心头,思考了很久这到底是哪里 出了问题。到底是我对这项目的评估不正确还是leader不正确。后来问了邱老师如何评估这项目,她跟我讲 了很多,所以我还是会做下去吧。 在soha的帮助下将 rvv-intrinsic-doc 生成 segment load and store 的 return type 改成了 vs3的 type,用的是简单粗暴的识别“void”,调用 RIFtype 中的 to_type_class 进行简单的字符串 匹配并转换。怎么越来越屎山了(逃,延迟的馊主意真多啊。过程中因为函数在类中无法调用,于是加了一个 静态函数。 尚且没想好 SizePtr 该怎么做,今日观察 spec 觉得只是简单表示多少byte的值,可能并不需要新构造 一个 SizePtr。 RIF部分发现了使用##拼接的变量在结构体中以拼好的形式遍历的,所以直接在==两边写不带Scalar的自定 义变量名称是无法识别的。 最后老板把我双周会的活交给了新同事,终于不用每双周惦记着了。

March 26, 2025 · xyenchi

工作日更

今日我研究 vslideup vslidedown,虽然貌似看懂了是在做什么,但改 RIF 中使用的 spike 头文件 依旧十分棘手。 首先尽量不能动 spike 头文件本体,毕竟日后 spike 如果更新了什么,这将变成不可描述的未来。 其次slideup slideup并不像其他运算进行了高度抽象,头文件本体中并不含有 sew 的判断。 最后,还是以前的问题,我根本无法想象展开之后是什么样。 所以我决定暂时移除相关指令,先解决别的问题。 进行一次构建通过后产生了大量数组数据没有逗号的问题和无法识别operator type报错,在找到一处疑似 需要添加的地方进行添加之后测例中没有内容生成,并还是无法识别operator type报错。于是我添加了 C++ 部分对 segment load and store 和 Miscellaneous op 的code gen,实现逻辑应该是不太 对,待研究。

March 26, 2025 · xyenchi

工作日更

今日我在soha的大力帮助下解决了 RIF 的 C++ 部分不同结构体之间 input_nfield 和 output_nfield 的继承问题和类型问题。 观测到load store的enum想加入segment load store很麻烦,咨询C++专家之后,jpgg和able给出了 RIF 中无法使用的 C++ 20 特性,进行学习。RIF 使用 C++ 17。 其中包括: concepts NTTP 最后 RIF 出现大量指令的 python 头文件含有 dataMO 的旧版本已知问题和没有spike insn文件夹 中的正确的运算头文件已知问题。待研究。

March 25, 2025 · xyenchi

工作日更

今天我思考了 vssseg 的 void type 问题,发现可以不用void type存返回值,使用vs3的类型来存。 因为反正也需要存成数组才能与golden进行比较。 跟邱老师说了现在方案行不通的想法,主要观点是想要对 segment load store 的数据进行常规操作, 需要和vset,vget等intrinisc绑定以获取一维数组。他们觉得可以以直接load store的形式实现,我 觉得也行。 发现 include/CustomOperator.def 中input field虽然存了所有参数的nf,但其实有用的只有一个 于是修改了生成脚本。 但还是不会改 include/Basic.hpp 最后针对这次失败的做项目经历狡辩了一个多小时。

March 24, 2025 · xyenchi

真的日更

PyCharm选中多行快捷键: alt+shift+insert 切换到 colume 模式 PyCharm全选并删除光标之前的内容 : ctrl+shift+home / command+shift+⬆️ mac VScode打开md文件预览快捷键:command+k v 上次参加龙哥的gcc培训,听起来三星的人水平不低,而且想学习优化相关知识,但我没有。 按照老板的规划,八月份可能就轮到我了。 在龙哥讲课的时候翻看了gcc源代码,发现gcc riscv intrinisc tail policy没有我的测试用例 写得激进。或许测不过的部分原因找到了= =0 继续研究 riscv-intrinsic-fuzzeing-test 的写法。 TypeInfo貌似是intrinsic操作数的类型信息,但我不敢确定。 在jpgg和soha的帮助下了解了下列代码的奇妙用法: enum TypeClass { SIGNED_INT, UNSIGNED_INT, FLOAT, BOOL, NumberOfTypeClasses, }; NumberOfTypeClasses可以用来表示TypeClass这个enum的总数。 现在卡在代表vlseg的 new vl 类型 size_t * 的 SizePtr无法识别。

March 21, 2025 · xyenchi

真的日更

今日终于结束了 RVI hackathon hub 相关的时间和场地事宜。 看了眼 codasip 和 andes 出的题目,范围好窄,而且和联动单位风格不太搭,在筹备别的题目了。 给gcc提交xuantie的-mcpu patch玄铁的人回话了,果然说和他们的spec、命名方式啥的不一样。 但其实他们的tune info也没有写指令cost。 发现了一份gcc代码编辑器的配置,还蛮有用的。 说完我把mac的IDE配了一下,里面gcc的.md文件格式把blog的.md文件格式创了。 最近在思考是不是在无法赚钱无法提升能力的事情上花了太多时间精力。

March 20, 2025 · xyenchi

整理碎片

SIGABRT 程序的异常终止,如调用abort SIGFPE 错误的算数运算,如除0或导致溢出 SIGILL 检测非法指令 SIGEGV 非法访问内存 SIGTERM 发送到程序的终止请求 新旧版intrinsic tail policy 对照表: TAMA TUMA TUMU TAMU Vm=0 _m _tum _tumu _mu Vm=1 _tu _tu rvv-intrinsic-doc的对照: InstInfo.get(SEW, LMUL, [“OP”], inst_type, mem_type, extra_attr, required_ext=required_ext) vfmv 和 vmv 类型(不一定对): 指令 操作数类型 vfmv f_s v_f s_f vmv s_x x_s v_x v_i

March 16, 2025 · xyenchi

进行近期总结

好久没写nonsense了。 进行近期的记忆备份。 device tree source 与 device tree binary 相互转换 安装device-tree-compiler工具 dts转dtb dtc -I dts -O dtb *.dtb *.dts dtb转dts dtc -I dtb -O dts *.dts *.dtb 研究 RISC-V vlse 指令学习了 C++ ptrdiff_t类型。 一句话介绍: std::ptrdiff_t is used for pointer arithmetic and array indexing, if negative values are possible. possible implementation: // valid since C++11 using ptrdiff_t = decltype(static_cast<int*>(nullptr) - static_cast<int*>(nullptr)); example: #include <cstddef> #include <iostream> int main() { const std::size_t N = 10; int* a = new int[N]; int* end = a + N; for (std::ptrdiff_t i = N; i > 0; --i) std::cout << (*(end - i) = i) << ' '; std::cout << '\n'; delete[] a; } Output: 10 9 8 7 6 5 4 3 2 1 顺便学习了 size_t竟然是有符号的。 ...

March 12, 2025 · xyenchi

感染甲流

周三吃晚饭的路上我感受到一阵极端寒冷,打了一个寒战,吃完串串之后感受到喉咙轻微不适。 周四早上被热醒感觉到头昏脑胀恶心想吐,起床之后突发一阵猛烈咳嗽冲向厕所呕出了少量牛油火锅味酸水和最后一根没有消化的贡菜。服用999感冒灵后在美团上选购了止咳药和凑单买的温度计。 一量体温38.8,服用止咳药后昏睡过去,中途间断被热醒多次。服用对乙酰氨基酚退烧效果只能短暂到达37.8。 周五对乙酰氨基酚基本没什么效果,买了甲流乙流肺炎抗原检测试剂盒发现阴性, 晚上怀疑自己有要被烧傻的迹象后下定决心去医院。 周六上午去了发热门诊的急诊,里面人山人海。进行了价值198元的甲流乙流核酸检测和抽血。等待一个多小时结果后甲流阳性。医生问我是想要一天的特效药还是五天的普通药,我要了价值222元的 特效药。下午一点回到家之后吃了药体温就开始快速下降,晚上睡觉前就只有37.5度了。 星期天满头大汗地醒过来发现已完全退烧,只有咳嗽头晕喉咙不适等症状了,特效药确实猛。幸好可以刷医保卡。 发现一个很神奇的事情就是发烧的时候不会出汗。 患病过程中感受到了大家的暖心关怀,虽然一位同事谴责了我请假开会,需要他私自编排病情,但我一想到如果是他请假会肯定可以照常开,毕竟他做一个项目两个帮手,我一个人做一个项目,心里好受了许多。 最恐怖的还是稍微清醒点的时候想的都是项目无法交差了,但是真到电脑前面我还是在抗拒做这个项目。每当此时我都会回想起高三班主任跟我说,高考其实可以让我学习到战胜困难的勇气和心态面对人生往后的困难,但是我没调整心态准备好了。难道这真的是什么遇到困难解决不了无法战胜的魔咒。

January 19, 2025 · xyenchi

2025年1月13日记录

今日无法写 riscv-vector-fuzzing-test 的 C++,想到把sifive-intrinsic-doc无法成功生成 instruction attribute 的脚本修好。 一直以为是 python 跨文件夹调用的问题,尝试了诸如: 1.加sys.path。 2.在各个路过的文件夹中新增__init__.py文件 3.在sifive_specific文件夹中加入调用文件对应路径的软链接 然而并没有什么效果,现在怀疑可能是不同指令添加 insn_attrs 的过程随意初始化了,导致有些attribute可以成功append,有些失踪。 把 rif 给李秦君看一下,给他解释的时候想到,现在的问题可能是 tuple type 在 CustomOperator.def 里的 input_nfield 和 output_nfield 其他的指令并没有这两项。

January 13, 2025 · xyenchi