问题标签 [icc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 类型特征 - 显式模板专业化。在 xcode 上失败
我正在尝试使用“现代 C++ 设计”中的类型特征,使用模板来确定类型是否具有可变大小。例如,字符串需要可变大小的存储空间,而 int 具有固定大小的存储空间。此代码适用于 Microsoft C++,现在我正在移植到 mac,但出现错误:
当前范围内不允许显式特化
专业化这个的正确方法是什么?
c++ - boost::geometry::area 无法在英特尔编译器上编译
(从之前的问题中拆分出来)。
有谁知道这里发生了什么?以下代码在 MSVC 中运行良好,但在 intel 编译器上运行良好。
最后一行(boost::geometry::area)是产生问题的那一行:
boost - Ubuntu oneiric 上的 g++ 和 boost 链接器错误
升级后出现以下错误。我无法弄清楚它有什么问题。据我所知,它应该可以工作。
compiler-construction - 将 -fast 选项与英特尔 ICC 编译器一起使用
当我在 Linux 下的 ICC 编译命令中使用 -fast 选项时,我得到这个错误:
有什么建议么?
c - 英特尔 icc:如何将优化代码转储为 C 文件
Gcc 的-fdump-tree-optimized
选项将 C 代码的优化版本转储为 C 文件。有没有办法使用英特尔的 icc 编译器来做同样的事情?
我有一个矩阵乘法代码,我编译为icc -O3 -ipo mult.c
. 我想查看编译器如何执行优化。如果没有任何效果,那么我将为程序生成汇编代码。
strtok - icc 编译器和 strtok
当我尝试编译我的代码时icc
出现错误(在 HPC 集群上编译):
我认为这是缺少标头的问题,但是,当我gcc
在本地计算机上编译时没有错误。那我该如何编译呢?某种已移动的库是否存在问题?我试着搜索一些关于strock
and的信息icc
,但没有找到任何有用的东西。
或者,是否有替换命令strtok
?我用它从文件中读取数据(=
是我的令牌)。
inline-assembly - ICC 内联汇编器不喜欢 push/pop
我尝试在 msasm 中执行与 icc 内联的汇编程序:
有人知道为什么 icc 不接受推送和弹出吗?
提前致谢!
gcc - ICC、GCC 和 OpenMP
我正在启动一个通过 OpenMP 并行化的给定问题。它对处理大量数据的同一段代码运行给定次数的迭代。处于应用 OpenMP 的那个级别,使每个线程处理一个子卷。每个迭代都应该具有相同的工作负载,以及每个子卷。
当使用 ICC 编译时,迭代的持续时间总是与预期的相同。但奇怪的是:当使用 GCC 编译时,每次迭代的时间开始增加,达到最大值,然后再次减少,直到达到稳定的给定值。没有 OpenMP 编译的相同程序在使用 ICC 或 GCC 时没有区别。
有没有人在这些编译器中观察到 OpenMP 中的这种行为?
[编辑 1]:指导和静态调度策略已经过测试。
[编辑 2]:代码看起来有点像这样:
其中 COMP 在 k+j*N+i*NN (以及它们的一些邻居)位置对 a、b、c 中的值进行某种线性应用。关键是 GCC 和 ICC 中的这段代码导致了我描述的问题。关键是我发现我将 a,b,c,d 的初始化更改为 0.0f (f.ex, 0.5f) 以外的某个值,即不会发生每个时间步所花费的时间增加的事情。
[编辑 3]:似乎不是 GOMP 的错。禁用 OpenMP 时也会发生同样的情况。再一次,使用 ICC(没有或使用 openmp)根本不会发生。有什么办法可以关闭这个线程吗?
debugging - gdb - 没有找到调试符号 - 但调试器仍然可以工作
我认为为了使用 gdb 进行调试,它需要找到调试符号,但 gdb 显然在没有它们的情况下也可以工作(?)。我正在混合 c 代码和 fortran 代码。今天我的目标是调试代码的 c 部分。main 位于 c 中,fortran 代码仅在此 main 调用的某些库中进行干预。我在 linux 上使用 icc 编译我感兴趣的代码,并带有以下标志:
当我在代码上运行 gdb 时,它说
'从 /my/path/myexecutable.out 读取符号...(未找到调试符号)...完成。'
但后来我成功地正确调试了我的 c 代码。它读取代码行并正确执行等等。我很高兴一切正常,但我的问题是:gdb 是否应该显示关于找不到调试符号的声明?或者也许他们不需要?
谢谢!
c++ - VS 10 中英特尔 C++ 编译器的矢量化报告目录
在 VS 10 中,我将“矢量化诊断级别”设置为“n=2”,将“优化诊断阶段”设置为“hpo”,如“英特尔 C++ 编译器矢量化指南”中所述。但是,(这可能是一个愚蠢的问题),该报告在哪里?“输出”中既没有显示内容,也没有项目目录。