unroll_and_jam/nounroll_and_jamunroll_and_jam/nounroll_and_jam启用或禁用循环展开和阻塞。这些指令只能应用于迭代for循环。 Syntax#pragma unroll_and_jam #pragma unroll_and_jam (n) #pragma nounroll_and_jam Arguments展开因子,表示展开循环的次数;必须是0到255之间的整数常数 Descriptionu 2023-02-26 HPC C++ Intel
Cache Blocking Techniques【个人翻译】Cache Blocking Techniques文章来源:Cache Blocking Techniques (intel.cn) 文章作者:Amanda K Sharp Overview一类重要的算法更改涉及分块数据结构以适应缓存。通过组织数据内存访问,可以用一个大得多的数据集的一个小子集加载缓存。接下来的想法是在缓存中处理这个数据块。通过在缓存中使用/重用这些数据,我们减少了访问内 2023-02-26 HPC Cache Blocking
OpenMP:Internal Control Variables2.5 Internal Control VariablesOpenMP实现必须像内部控制变量(icv)一样控制OpenMP程序的行为。这些icv存储的信息包括用于未来并行区域的线程数、用于工作共享循环的调度以及是否启用嵌套并行。在程序执行期间,icv在不同的时间被赋予值(如下所述)。它们是由实现本身初始化的,并且可以通过OpenMP环境变量和调用OpenMP API例程来赋值。程序只能通过Ope 2023-02-26 HPC OpenMP
OpenMP线程绑定【未完结】OpenMP线程绑定OpenMP相关环境变量与指令OMP_PROC_BINDOMP_PROC_BIND环境变量设置bind-var ICV的初始值。这个环境变量的值可以是true、false,或者用逗号分隔的master、close或spread列表。列表的值设置了对应嵌套级别的并行区域要使用的线程亲和策略。 如果环境变量设置为false,则执行环境可能会在OpenMP位置之间移动OpenMP线程 2023-02-26 HPC OpenMP
基于GDB的程序调试基于GDB的程序调试程序调试工具GDB编译器GCC,项目构建工具Make(又称gmake),以及GDB。 GDB是什么? GDB:GNU symbolic debugger是Linux下常用的程序调试器 GDB可以做什么? GDB官网:GDB: The GNU Project Debugger (sourceware.org) 调试案例一12345678910111213#include &l 2023-02-24 Operating System Linux
矩阵乘法计算拆分展示矩阵乘法计算拆分展示通用矩阵乘概念 123456789for(int i = 0; i < m; i++){ //遍历C矩阵各行,其行数与A的行数相等 for(int j = 0; j < n; j++){ //遍历C矩阵i行j列 c[i][j] = 0; for(int p = 0; p < k; p++) 2023-02-19 HPC Matrix GEMM
11. 盛最多水的容器11.盛最多水的容器题目链接11. 盛最多水的容器完整代码123456789101112131415161718192021222324class Solution {public: int maxArea(vector<int>& height) { //双指针; int ans =-1; int left= 2023-02-18 Algorithm C++ LeetCode 双指针
146.LRU cache146.LRU cache题目链接146. LRU 缓存 - 力扣(LeetCode) 完整代码1234567891011121314151617181920212223242526272829303132333435363738394041class LRUCache {private: int cap=0; list<pair<int,int>> 2023-02-17 Algorithm C++ LeetCode
BLISlab中C矩阵初始化速度测试BLISlab中C矩阵初始化速度测试假设我们想把C中的所有元素都设为0。 统一编译命令: 1g++ xxx.cpp -O0 -std=c++11 -o xxx 版本一:123456789101112131415161718192021222324#include<bits/stdc++.h>using namespace std;#define C( i, j ) C[ ( 2023-02-15 HPC Linux dgemm
BLISlab tutoril阅读BLISlab tutoril阅读参考资料:Git地址:https://github.com/flame/blislab 【代码包包含tutoril.pdf】 BLISlab: A Sandbox for Optimizing GEMMAbstract矩阵-矩阵乘法是科学计算中非常重要的基本运算,机器学习也越来越重要。这是一个非常简单的概念,可以在典型的高中代数课程中引入,但在实践中又非常重要,它 2023-02-12 HPC Linux dgemm