首页 文章
  • 1 votes
     answers
     views

    传递一个fortran派生类型,它包含不同编译器之间的可分配数组(PGI和Intel)

    我们有一个项目可以发展Nvidia GPU和Intel Xeon Phi . 主机代码和GPU代码用Fortran编写,由pgfortran编译 . 为了将我们的一些工作卸载到Phi,我们必须创建一个由ifort编译的共享库(静态链接不能工作),并从代码的pgfortran部分调用共享子例程 . 通过这样做,我们可以将代码的pgfortran部分中的数组卸载到可以与Xeon Phi通信的intel...
  • 0 votes
     answers
     views

    在Intel Xeon Phi卸载指令中使用带“into”的指针

    根据“Intel Xeon Phi Coprocessor高性能编程”一书,我们可以将数据从一个变量移动到另一个变量 . 我试着按照这个例子,我发现它有效: 码: program example real , target :: a(5),b(10) a(1)=1 a(2)=2 a(3)=3 a(4)=4 a(5)=5 print *,'*************************' ...
  • 0 votes
     answers
     views

    英特尔C编译器:哪些标志用于优化英特尔至强E3-1200系列和E5-2430 v2?

    我试图在一些Ubuntu 12.04.5台式机上使用英特尔C编译器(icpc)编译的cpp算法(浮点,几个循环和大数据)获得最佳性能 . 我已经读过优化标志-O3通常是最好的,但我还读到每种类型的处理器都有特定的标志 . 有谁知道哪个是Intel Xeon E3-1200系列和Intel Xeon CPU E5-2430 v2最高性能的标志?
  • 4 votes
     answers
     views

    如何监控Xeon Phi上10Hz的核心利用率?

    我一直试图以相对较高的频率测量/监控Xeon Phi(Knights Corner,有序处理器)上所有这60个核心的利用率,比如至少每0.1秒产生10Hz . 我尝试了最新的PAPI库 . 但它只支持PAPI_TOT_INS,这是已完成指令的计数器 . 这不起作用,因为我实际上需要与每0.1秒发出的指令相关的东西,而不是完成 . 在不同周期发出的几条指令可以在同一周期完成 . 指令的问题受核心是否...
  • 0 votes
     answers
     views

    英特尔指令集扩展和用户机器(AVX,IMCI ...)

    如果程序是在Xeon-Phi协处理器上编译的,并且包含来自IMCI指令集扩展的指令,是否可以在没有Xeon-Phi协处理器的用户机器上运行它? 如果可能,与没有在i7 Core处理器上编译的IMCI指令相同的应用程序相比,用户计算机上的性能是否会得到改善? 换句话说,为了从使用英特尔指令集扩展时提高性能中受益,用户计算机是否必须具有支持此扩展的处理器?
  • 0 votes
     answers
     views

    Xeon Phi核心的前端如何为其U管和V管分配指令?

    根据英特尔的几份文件,据我所知,Xeon Phi的核心每个周期最多可以发出2条指令 . 一个在U型管上,另一个在V型管上 . 以下文档指出前端以循环方式在多个上下文之间切换 . Are these 2 instructions coming from the same context? Or, can they come from different contexts? 我没有找到关于此的详细...
  • 1 votes
     answers
     views

    关于使用AVX512进行编译的困惑

    我正在阅读this文档,该文档介绍了如何使用Intel C编译器和英特尔Knights Landing上的AVX512支持编译C / C代码 . 但是,我对这部分有点困惑: -xMIC-AVX512:使用此选项生成AVX-512F,AVX-512CD,AVX-512ER和AVX-512FP . -xCORE-AVX512:使用此选项生成AVX-512F,AVX-512CD,AVX-512BW,...
  • 2 votes
     answers
     views

    英特尔MKL / Xeon Phi卸载运行时问题 - 自动卸载无法正常工作

    我已经在Windows 10 Pro中设置了我的Xeon phi 3120A,其中包括MPSS 3.8.4和Parallel XE 2017(初始版本) . 我选择了这个Parallel XE,因为这是x100系列最后支持的XE . 我已经安装了随Parallel XE 2017(初始版本)打包的MKL版本 . What have I done / setup: 在设置MPSS 3.8.4之后,按...
  • 652 votes
     answers
     views

    使用AMD处理器启动AVD时出错

    我有带有AMD处理器的Windows 8.1专业版 . 我安装了Android SDK和Eclipse . 它的工作原理但问题是当我创建AVD并启动它时会显示以下错误: 模拟器:错误:x86模拟目前需要硬件加速!请确保正确安装和使用Intel HAXM . CPU加速状态:未安装HAX内核模块! 我已经安装了Intel Hardware_Accelerated_Execution_Manag...
  • 1 votes
     answers
     views

    无法在英特尔SDK for OpenCL中使用printf或调试器

    我正在使用英特尔SDK for OpenCL与英特尔高清显卡4000 GPU成功运行OpenCL程序 . 由于我还安装了Nvidia库,因此我确保链接到英特尔OpenCL库 . 但是,在内核中调用 printf() 会给OpenCL编译器错误 错误:OpenCL中不允许隐式声明函数'printf' 另外,我在Visual Studio 2012插件中启用了OpenCL内核调试,并将以下选项传递...
  • 1 votes
     answers
     views

    安装intel opencl sdk但无法在clGetPlatformIDs找到平台

    我想安装intel opencl sdk . 当然,我在intel的网站上用intel opencl安装指南编写了所有内容 . http://software.intel.com/en-us/articles/intel-sdk-for-opencl-applications-xe-2013-release-notes#_Installation_Notes 我做了所有写在那里的东西,但它不起作用...
  • 83 votes
     answers
     views

    C代码循环性能[续]

    这个问题在我的问题上继续(根据神秘的建议): C code loop performance 继续我的问题,当我使用压缩指令而不是标量指令时,使用内在函数的代码看起来非常相似: for(int i=0; i<size; i+=16) { y1 = _mm_load_ps(output[i]); … y4 = _mm_load_ps(output[i+12]); ...
  • 17 votes
     answers
     views

    GCC中的FMA3:如何启用

    我有一个i5-4250U,它有AVX2和FMA3 . 我正在测试Linux上的GCC 4.8.1中的一些密集矩阵乘法代码 . 下面是我编译的三种不同方式的列表 . SSE2: gcc matrix.cpp -o matrix_gcc -O3 -msse2 -fopenmp AVX: gcc matrix.cpp -o matrix_gcc -O3 -mavx -fopenmp ...
  • 14 votes
     answers
     views

    使用Ivy Bridge和Haswell循环展开以实现最大吞吐量

    我用AVX一次计算八个点产品 . 在我目前的代码中,我做了类似的事情(在展开之前): 常 Spring 藤桥/桑迪桥 __m256 areg0 = _mm256_set1_ps(a[m]); for(int i=0; i<n; i++) { __m256 breg0 = _mm256_load_ps(&b[8*i]); tmp0 = _mm256_ad...
  • 7 votes
     answers
     views

    每线程的英特尔MSR频率调整

    通过将正确的p状态写入寄存器 IA32_PERF_CTL 来改变'm extending the Linux kernel in order to control the frequency of some threads: when they are scheduled onto a core (any core!), the core'的频率,如英特尔手册中所述 . 但是,当调度具有不同频率的...
  • 13 votes
     answers
     views

    如何编写在现代x64处理器上高效运行的自修改代码?

    我正在尝试加速可变位宽整数压缩方案,我有兴趣在运行中生成和执行汇编代码 . 目前,大量时间花在错误预测的间接分支上,并且基于所发现的一系列位宽生成代码似乎是避免这种惩罚的唯一方法 . 一般技术称为"subroutine threading"(或"call threading",尽管这也有其他定义) . 目标是利用处理器有效的呼叫/返回预测,以避免停顿 . 这...
  • 167 votes
     answers
     views

    仿真器:错误:x86仿真当前需要硬件加速

    我试图在Android Studio中运行Hello World应用程序 . 我收到以下错误: 仿真器:错误:x86仿真当前需要硬件加速!请确保正确安装和使用Intel HAXM . CPU加速状态:未安装HAX内核模块! 你能告诉我我能用错误做些什么吗?
  • 1 votes
     answers
     views

    在Android SDK 23中启动Windows 7上的AVD时出错

    我的戴尔Inspiron笔记本电脑安装了Windows 7(终极版),配备英特尔i5处理器 . 我最近安装了最新的Android SDK(SDK 23,Android 6.0),它也已成功安装 . 现在,当我启动AVD时,收到以下错误消息: 模拟器:错误:x86仿真目前需要硬件加速!请确保正确安装和使用Intel HAXM . CPU加速状态:未安装HAX内核模块! 现在问题是,我已经从BIO...
  • 1 votes
     answers
     views

    在Android Studio中使用AVD时遇到Intel Haxm问题

    好的,我花了一整天时间试图解决Android Studio AVD的问题 . 我安装了英特尔HAXM,启用了英特尔虚拟化技术,发现我的_1672076中没有Hyper_V . 但是,当我尝试在Android Studio AVD中运行我的项目时,我仍然遇到同样的错误: 模拟器:错误:x86仿真目前需要硬件加速!请确保正确安装和使用Intel HAXM . CPU加速状态:未安装HAX内核模块! ...
  • 7 votes
     answers
     views

    从真实模式切换到保护模式后跳远

    根据这个tutorial,创建一个简单的操作系统就足够了,切换到保护模式就像下面的代码一样简单,而不需要其他众所周知的操作,例如启用A20 ...... 无论如何,我是这个领域的新手,我写了下面的代码,因为他们提到的修改完全来自于这个SO的修改 . Code Structure: 这个简单的操作系统应简要加载如下: 加载/读取15个扇区 启用GDT 切换到保护模式(并打印"S...
  • 299 votes
     answers
     views

    取消优化Intel Sandybridge系列CPU中管道的程序

    我一直在绞尽脑汁想要完成这项任务一周,我希望有人能带领我走向正确的道路 . 让我从教师的指示开始: 您的任务与我们的第一个实验任务相反,即优化素数计划 . 你在这个任务中的目的是使程序失望,即让它运行得更慢 . 这两个都是CPU密集型程序 . 他们需要几秒钟才能在我们的实验室电脑上运行 . 您可能无法更改算法 . 要取消优化程序,请使用您对英特尔i7管道运行方式的了解 . 想象一下重新排序指令路...
  • 2 votes
     answers
     views

    Spyder不被视为内部命令

    我已经下载了新的IntelPython并根据页面上的说明安装了包 . 因此,在我安装应用程序后,我按照Windows的这些说明操作: 打开终端或shell,然后导航到安装文件夹 . 这通常是C:\ IntelPython3 . 导航到Scripts文件夹,然后运行activate . 脚本激活根Python环境后,可以使用Intel Distribution for Python . ...
  • 0 votes
     answers
     views

    在ARMv6上运行x86打印机驱动程序二进制文件

    我们正在移植一个最初设计为在基于Debian的x86 / x64系统上运行的ARM解决方案 . 到目前为止,这个解决方案很好,我们推出了兼容的打印机,并附带了Linux驱动程序(x86和x64),遗憾的是制造商没有ARM驱动程序,也没有能够从源代码中编译一些(不知道为什么) . 我用CUPS安装了打印机并使用了x86二进制文件 . 但是当然,每当我向打印机发送任务时,ARM系统都无法使用二进制文件...
  • 2 votes
     answers
     views

    我们可以在Xeon Phi上同时卸载

    在Nvidia GPU上,我们可以使用Streams同时运行多个内核 . Xeon Phi怎么样?如果我通过不同的线程卸载两部分计算代码,它们会在Xeon Phi上同时运行吗?
  • 1 votes
     answers
     views

    如何编程INTEL GPU

    我是GPU计算领域的新手 . 所以我真的希望有人向我解释一下这些基础知识 . 我必须使用以下GPU的英特尔芯片组: GMA4500 高清显卡 我感兴趣的是在GPU中运行具有大数据集的代数和按位函数,例如数组的转置或数组行的按位移位 . 目标当然是获得更多的表现 . 我的主要问题是如何在GPU上编程?在过去,我使用CUDA在nVIDIA显卡上进行编程 . 我从之前的主题中了解到,我不能将...
  • 2 votes
     answers
     views

    x86遗留指令的说明

    我正在阅读一本关于计算机体系结构的书,以便在我遇到作者无需解释的绊脚石时提高我对微处理器的理解 . 本书涉及原始奔腾向上的英特尔处理器 . 作者从未解释过x86从处理器到处理器的实际含义 . 我发现它很难理解,因为在对原始Pentium的讨论中,作者说Pentium的一个缺点是它为x86传统支持分配了超过30%的晶体管 . 因此,我认为他的意思是Pentium必须与为80386等老一代处理器编写的...
  • 5 votes
     answers
     views

    设计AT&T汇编语法的最初原因是什么? [关闭]

    在x86或amd64上使用汇编指令时,程序员可以使用"Intel"(即 nasm 编译器)或"AT&T"(即 gas 编译器)汇编语法 . "Intel"语法在Windows上更受欢迎,但"AT&T"在UNIX(类似)系统上更受欢迎 . 但是,英特尔和AMD的手册,以及芯片创建者创建的手册都使用“英特...
  • 78 votes
     answers
     views

    为什么英特尔在其处理器中隐藏内部RISC内核?

    从Pentium Pro(P6微体系结构)开始,英特尔重新设计了它的微处理器,并在旧的CISC指令下使用了内部RISC内核 . 由于Pentium Pro所有CISC指令都分为较小的部分(uops),然后由RISC内核执行 . 一开始我很清楚英特尔决定隐藏新的内部架构并强迫程序员使用“CISC shell” . 由于这一决定,英特尔可以在不破坏兼容性的情况下完全重新设计微处理器架构,这是合理的 ....
  • 26 votes
     answers
     views

    Intel Xeon CPU如何写入内存?

    我正在尝试在两种算法之间做出决定 . 一个写入8个字节(两个对齐的4字节字)到2个高速缓存行,另一个写入3个整个高速缓存行 . 如果CPU仅将更改的8个字节写回内存,则第一个算法使用的内存带宽要少得多:8个字节对192个字节 . 如果CPU写入整个高速缓存行,则128和192字节之间的差异不那么显着 . 那么Intel Xeon CPU如何写回内存?你会惊讶地发现在谷歌找到一个应该众所周知的答案是...
  • 3 votes
     answers
     views

    英特尔TBB parallel_for vs管道

    我有一个任务,从概念上简化为13M元素中的每个元素添加一个常数,25MB大小的数组,不适合20MB大小的缓存 . 因此,我的实现是迭代遍历数组索引的for循环 . 我使用英特尔线程构建模块(TBB)将英特尔至强E系列服务器上的任务与以下规范并行化: 20 CPUs Sandy Bridge Micro-architecture 32K L1D, 256K L2, 20M L3 有两种可能的...

热门问题