MIC 内存分配中使用2M大页面
来源:互联网 发布:java list嵌套list 编辑:程序博客网 时间:2024/05/17 05:06
如何在offload代码输入输出变量的内存分配中使用2M大页面
xiaoping-duan (Intel) 于 2014 年 6 月 23 日 提交
英特尔编译器为至强融核™ 协处理器提供的offload编译模式使程序员可以在一段主机代码中加入编译指示或者某些新的关键字使指定的代码段运行在协处理器上。在显式拷贝模式下,程序员在使用offload pragma/directive将指定代码段offload到协处理器上执行的同时,还须指定在主机和扩展卡间进行拷贝的指针或数组类型变量。英特尔编译器在编译过程中会通过加入代码来自动完成主机和协处理器之间的传输数据。
在默认情况下offload模式的运行时系统为offload代码输入/输出变量在协处理器内存空间分配内存时会使用4K字节大小的页面。这样当offload代码需要很大的输入输出内存空间时,内存分配过程中就可能会产生很多的页面缺失异常,用户将观察到过长的内存分配延迟。针对这样的问题,英特尔编译器提供了一个环境变量“MIC_USE_2MB_BUFFERS”,使用户可以让运行时系统为offload代码输入/输出变量分配内存时在某些情况下改用2M字节大小的页面。下面是该环境变量的说明:
MIC_USE_2MB_BUFFERS
为运行时占用内存大小超过该环境变量给定值的指针型变量分配空间时使用2M字节页面。
该环境变量的设置方式:
整数值 B|K|M|G|T,其中
B = 字节
K = K字节
M = M字节
G = G字节
T = T字节
例如:
MIC_USE_2MB_BUFFERS=64K
0 0
- MIC 内存分配中使用2M大页面
- C#中大List的内存分配
- Linux内存页面分配
- Centos7.2使用1G大页面内存
- 如何在VC6中申请分配大容量内存
- 如何在VC6中申请分配大容量内存
- linux 内存管理 - 分配页面
- linux 内存管理 - 分配页面
- tomcat分配大容量内存
- java中内存分配
- c++中分配内存
- 程序中内存分配
- C++中内存分配
- java中内存分配
- JAVA中内存分配
- [转载]如何使用python在2M内存中排序一百万个32位整数
- VC++中使用内存映射文件处理大文件(2)
- C和C++中内存分配和释放使用介绍
- 图片处理工具
- VC调试方法大全
- AngularJS模板系统的重要特征
- java感悟
- nginx-lua(安装)
- MIC 内存分配中使用2M大页面
- java入门
- Switch总结
- hdu 1875 畅通工程再续(Kruskal)
- bootloader技术内幕
- LeetCode --- 66. Plus One
- java String 创建的深入理解
- LeetCode --- 67. Add Binary
- CM12下载