随笔分类 - 其他
摘要:GCC 汇编标签地址被意外截断 我把这个问题发布在了 Stack Overflow https://stackoverflow.com/questions/79238937/gcc-assembly-label-address-unexpectedly-truncated-without-warni
阅读全文
摘要:本文通过 GRUB Multiboot2 引导自制操作系统的完整过程,从 Multiboot2 规范解析到代码实现、镜像制作,再到虚拟机测试,展示了如何使用 GRUB 引导自制的操作系统,并修复官方文档中的代码错误,确保系统在 QEMU 和 VirtualBox 环境中成功运行。
阅读全文
摘要:使用OpenMP与AVX优化矩阵乘法 由于课设内容做的太过简(mo)单(yu),于是在去年12月初的时候就计划写三篇博客随笔作为实验报告,前两篇简单介绍了OpenMP和SIMD指令进行铺垫,本篇将会介绍他的应用场景——优化矩阵乘法。 前两篇的传送门: 1.OpenMP优化for循环的基础运用 2.S
阅读全文
摘要:SSE与AVX指令基础介绍与使用 SSE/AVX指令属于Intrinsics函数,由编译器在编译时直接在调用处插入代码,避免了函数调用的额外开销。但又与inline函数不同,Intrinsics函数的代码由编译器提供,能够更高效地使用机器指令进行优化调整。 在开始之前可以先在CPU-Z或者Intel
阅读全文
摘要:OpenMP优化for循环的基础运用 OpenMP作为多线程并行优化API,其使用方式与C++自带的多线程使用方式有很大的不同。 在使用OpenMP时,我们是通过 #pragma omp+字句 所组成的命令对线程的行为进行控制,之后编译器会自动对这些命令进行分析与优化,将相关代码由串行变为并行。 整
阅读全文
摘要:通过位运算将指定位的值置0或1 问题样例 假如现在有一个8bit二进制数A,其可以为任何值,所以这里不妨先设A=(xxxxxxxx)2,{x|0,1} 现在需要你将A的几个指定位修改为1或0,例如将A修改为(x1x1xx00)2 要解决这个问题我们只需要用到与、或两种位运算 与运算的性质 与运算的真
阅读全文