intel相关内容
谁能解释一下intel_gpu_top的输出?具体地说,什么是任务GAM、vs等(man page帮助不大。) 比特流繁忙是什么意思?它似乎总是为零. render busy: 45%: █████████ render space: 83/131072 bitstream
..
在最近的x86体系结构上失败的存储到加载转发的成本是多少? 具体而言,由于加载部分与较早的存储重叠,或者较早的加载或存储跨越导致转发失败的某些对齐边界而失败的存储到加载转发。 当然会有延迟成本:它有多大?是否还有吞吐量成本,例如,失败的存储到加载转发是否使用其他加载和存储甚至其他非内存操作无法使用的额外资源? 当存储的所有部分都来自存储缓冲区时,与存储缓冲区和L1混合的情况有什么不同
..
每个线程都有自己的堆栈来存储局部变量.但堆栈也用于在调用函数时存储返回地址. 在 x86 汇编中,esp 指向最近分配的堆栈末端.今天,大多数 CPU 的堆栈都是负增长的.此行为通过溢出缓冲区并覆盖保存的返回地址来启用任意代码执行.如果堆栈正向增长,这样的攻击将不可行. 让调用堆栈向上增长是否更安全?为什么 Intel 设计 8086 时堆栈向下增长?他们是否可以在任何后来的 CPU
..
我想知道是否有一种方法可以利用 intel 的 Sandy Bridge CPU 中新的基于硬件的真数生成器?我读到英特尔的 MKL(数学内核库)公开了这个功能,但这需要 MKL 套件和英特尔编译器,最终相当昂贵. 还有其他方法可以在我的 C++ 代码中使用硬件随机数生成器吗?例如一个不错的,只有标题的库? 解决方案 英特尔在 http://software.intel.com/en
..
从这里我知道英特尔实现了几个静态分支预测这些年的机制: 80486 年龄:始终未采取 Pentium4 时代:Backwards Takes/Forwards Not-Taken Ivy Bridge、Haswell 等较新的 CPU 变得越来越无形,请参阅 Matt G 的实验在这里. 而且英特尔似乎不想再谈论它了,因为我在英特尔文档中找到的最新材料是大约十年前写的.
..
我正在尝试使用适用于 Windows 的 Intel HAX x86 仿真器(如果重要,则为 8).我安装了所有东西并为 android 版本创建了一个 AVD,一切看起来都是正确的,但是当我运行它时,我得到了这个输出: 为 AVD 'x86_QVGA_Level10' 启动模拟器模拟器:设备 fd:1044HAX 正在工作,模拟器以快速 virt 模式运行模拟器:无法同步 vcpu reg模拟
..
我的 HAXM 安装有问题.事情就是这样.每次尝试为我的计算机安装 HAXM 时,我都会收到此错误: 问题是,我的电脑支持虚拟化技术(见下图).知道如何解决这个问题吗? 解决方案 只需按照以下步骤: 转到控制面板 → 程序和功能. 点击打开和关闭窗口功能.将打开一个窗口. 取消选中 Hyper-V 和 Windows Hypervisor Platform 选项并重新启动系
..
我希望能够从我的 Mac 为 ARM 构建 Docker 映像.我知道我可以使用 QEMU 在我的 Mac 上运行 ARM 容器,但我不知道如何为 ARM 构建. 解决方案 现在这有点令人费解.我相信在不久的将来 docker 会让它变得更容易. 基本上你需要基于一个容器构建一个包含 qemu-arm-static 二进制文件的容器. 您可以通过查看 带有 qemu 的树莓派基
..
我有几个关于多核 CPU 或多处理器系统中使用的高速缓存存储器的问题.(虽然与编程没有直接关系,但在为多核处理器/多处理器系统编写软件时会产生很多影响,因此在这里问!) 在多处理器系统或多核处理器(英特尔四核、酷睿二双核等)中,每个 cpu 核心/处理器是否有自己的高速缓存(数据和程序高速缓存)? 李> 一个处理器/核心能否访问彼此的缓存,因为如果允许它们访问彼此的缓存,那么我相信在
..
我在 Microsoft Visual Studio 2008 上使用 NVIDIA CUDA 4.1.我还安装了 Intel Parallel Studio XE 2011. 默认情况下,NVIDIA 的 C 编译器 nvcc.exe 使用微软的 C 编译器 cl.exe 来编译它的 C 代码. 如何更改设置以使 nvcc 使用 Intel 的 C 编译器 icl.exe. 解
..
我最近在让我的电脑 (ivybridge) 使用板载 gpu (intel igpu HD4000) 进行正常屏幕显示使用时遇到了一些麻烦,而我在离散的 Nvidia GT 640 上运行我的 CUDA 程序进行计算我在我的机器上.问题是在 iGPU 显示下,CUDA 将无法识别 nvidia 卡,并且根本无法加载 nvidia 驱动程序. 请记住,在为显示设备使用 nvidia windo
..
问题可以描述如下. 输入 __m256d a, b, c, d 输出 __m256d s = {a[0]+a[1]+a[2]+a[3], b[0]+b[1]+b[2]+b[3],c[0]+c[1]+c[2]+c[3], d[0]+d[1]+d[2]+d[3]} 到目前为止我所做的工作 这似乎很容易:两个 VHADD 之间有一些改组,但实际上结合 AVX 所具有的所有排列不能生成
..
最近 Google 和 Intel 发布了一种运行模拟器的新方法,它应该比以前的版本(模拟 ARM CPU)运行得更好.以下是一些关于它的链接:this 和
..
我正在学习计算机系统课程,并且我正在尝试确定,肯定,如果我的基于 AMD 的计算机是小端机器?我相信这是因为它将与英特尔兼容. 具体来说,我的处理器是 AMD 64 Athlon x2. 我知道这在 C 编程中很重要.我正在编写 C 程序,我正在使用的方法会受此影响.我想弄清楚如果我在基于 Intel 的机器上运行程序是否会得到相同的结果(假设是小端机器). 最后,让我问一下:任
..
我了解到您不能将一个字节直接推送到英特尔奔腾的堆栈上,有人可以向我解释一下吗? 我得到的原因是因为 esp 寄存器是可字寻址的(或者,这是我们模型中的假设)并且它必须是“偶数地址".我会假设递减某个 32 位二进制数的值不会影响寄存器的对齐,但显然我还不够了解. 我尝试了一些 NASM 测试,发现如果我声明一个变量(bite db 123)并将其压入堆栈,esp 会减少 4(表示它压入
..
我有几个关于多核 CPU 或多处理器系统中使用的缓存的问题.(虽然与编程没有直接关系,但在为多核处理器/多处理器系统编写软件时会产生很多影响,因此在这里提问!) 在多处理器系统或多核处理器(Intel Quad Core、Core two Duo 等)中,每个 cpu 内核/处理器是否都有自己的缓存(数据和程序缓存)? 莉> 一个处理器/内核是否可以访问彼此的缓存,因为如果允许它们访
..
我正在尝试为 Intel 的 clwb 指令找到不会使缓存行无效的配置或内存访问模式.我正在使用 NVDIMM 对 Intel Xeon Gold 5218 处理器进行测试.Linux 版本是 5.4.0-3-amd64.我尝试使用 Device-DAX 模式并直接将此字符设备映射到地址空间.我还尝试将此非易失性内存添加为新的 NUMA 节点,并使用 numactl --membind 命令将内存
..
我开发了一个高性能 Cholesky 分解例程,它应该在单个 CPU(没有超线程)上达到大约 10.5 GFLOPs 的峰值性能.但是在我测试它的性能时,有一些我不明白的现象.在我的实验中,我测量了增加矩阵维数 N(从 250 到 10000)的性能. 在我的算法中,我应用了缓存(调整了阻塞因子),并且在计算过程中始终以单位步幅访问数据,因此缓存性能最佳;消除了 TLB 和分页问题; 我有
..
我最近一直在问自己一个真正的问题是什么设计选择使 x86 成为小端架构而不是大端架构? 解决方案 在很大程度上,出于同样的原因,在添加时从最低有效数字(右端)开始——因为进位会向更有效的数字传播.将最低有效字节放在最前面允许处理器在仅读取偏移量的第一个字节后开始添加. 在您完成足够多的汇编编码和调试之后,您可能会得出结论,小端不是一个奇怪的选择——我们人类使用大端很奇怪.
..
我正在使用 AVX 一次计算八个点积.在我当前的代码中,我做这样的事情(展开之前): 常春藤桥/桑迪桥 __m256 areg0 = _mm256_set1_ps(a[m]);for(int i=0; i
..