icc相关内容
我正在尝试编译我的一些代码,这些代码在g++(使用--Wnon-虚dtor标志)中编译得很好。此外,我的IDE和clang-tidy没有警告我(我当然知道这可能是假的)。 当我尝试用Intel的icpc编译相同的代码(实际上是这个icpc (ICC) 19.1.2.254 20200623)时,我收到了一个警告,现在我可以追踪到它--我想知道是我有什么错,还是这个警告在我的情况下实际上是不正
..
我有一个运行CentOS 5的AMD皓龙服务器。我想有一个相当大的基于C++Boost的程序的编译器。我应该选择哪个编译器? 推荐答案 我希望这不仅仅是帮助而不是伤害:) 一年多前的某个时候,我做了一次小小的编译器枪战,我快记不住了。 GCC 4.2(苹果) 英特尔10 GCC 4.2(苹果)+LLVM 我测试了我编写的多个模板密集型音频信号处理程序。 编译
..
以下程序的正确行为是什么? //example.cpp#include #include 结构富{无效酒吧()常量{std::cout MakeFoo() {返回 std::make_shared();}int main() {自动 p { MakeFoo()
..
movemask 指令采用 __m256i 并返回一个 int32,其中每一位(前 4、8 或所有 32 位,取决于输入向量元素类型)是相应向量元素的最高有效位. 我想做相反的事情:取 32(其中只有 4、8 或 32 个最低有效位有意义),并获得 __m256i,其中设置了每个 int8、int32 或 int64 大小的块的最高有效位到原来的位. 基本上,我想从一个压缩的位掩码变成
..
MSVC 和 ICC 都支持内在函数 _addcarry_u64 和 _addcarryx_u64. 根据英特尔的内在指南和白皮书 这些应该映射到adcx 和 adox 分别.但是,通过查看生成的程序集,很明显它们分别映射到 adc 和 adcx,并且没有映射到 adox 的内在函数.> 另外,告诉编译器在 MSVC 或 -march=core-avx2 在 Linux 上使用 ICC 制
..
我正在为自己的汇编语言编写一个虚拟机,我希望能够在执行加法等操作时设置 x86-64 架构中设置的进位、奇偶校验、零、符号和溢出标志. 注意事项: 我使用的是 Microsoft Visual C++ 2015 &英特尔 C++ 编译器 16.0 我正在编译为 Win64 应用程序. 我的虚拟机(目前)只对 8 位整数进行算术运算 我(目前)对任何其他标志(例如 AF)不感兴趣
..
我目前正在尝试对程序进行矢量化,但我观察到了一个奇怪的行为 似乎for循环在使用时被向量化 #pragma simd (262): (col. 3) 备注:SIMD 循环被矢量化. 但是当我使用时没有 #pragma vector 总是 #pragma ivdep (262): (col. 3) 备注:循环未向量化:存在向量依赖. 我一直认为两个句子
..
我正在用 icc(在 ubuntu 下)编译 cpp 代码: icc -I/usr/share/R/include -I/~/Desktop/work/p1/geqw4/vi3/out/sp/ccode/eigen -fpic -O2 -pipe -c -DEIGEN_NO_DEBUG 啊哈.cpp -o 啊哈.oicc -shared -o aha.so aha.o -L/usr/local/
..
您知道一种无需使用 env2 脚本即可为英特尔编译器自动生成模块文件的方法吗? 解决方案 使用最新版本的模块 (v4.6+),module 命令获得了一个名为 sh-to-mod 翻译环境变化由给定的脚本执行到模块文件命令中. $ module sh-to-mod sh/path/to/foo-1.2/foo-setup.sh arg1#%模块前置路径路径/path/to/foo-1.2
..
我想检查 gdb 中 std::vector 的内容,但我无权访问 _M_impl,因为我使用的是 icc,而不是 gcc,我该怎么做?为了简单起见,我们假设它是一个 std::vector. 有一个非常好的答案 here 但是如果我使用 icc 这不起作用,错误消息是“没有名为 _M_impl 的成员或方法".此处 似乎有一个不错的调试工具集,但它也依赖于 _M_impl. 解决方案
..
您好,我正在运行 Linux Ubuntu 并且正在使用 icpc(英特尔编译器)进行编译,我想获得一个共享库,所以我使用了命令: icpc -o myShared.so -std=c++11 -shared -DSTDC_HEADERS -D __cplusplus=201103L -fpermissive -DPT_XX_DEV -fexceptions -frtti -DANDROID
..
出于测试目的,我正在使用Icc内联汇编程序为Intel Xeon Phi编写简短的汇编代码段.现在,我想使用带掩码的向量指令,但是无法将它们提供给内联汇编器. 对于这样的代码: vmovapd -64(%% r14,%% r10),%% zmm0 {%% k1} 我收到错误消息 /tmp/icpc5115IWas_.s:汇编程序消息:/tmp/icpc5115IWas_.s:563
..
我想在Linux上使用Intel当前的编译器.我有一个应该用于检测编译器的内联宏. 它曾经与GCC和ICC的以前的版本一起使用.但是现在我有了ICC的 extern inline .ICC现在是否定义 __ GNUC __ ?您将如何检测ICC或英特尔C ++编译器ICPC? #ifndef INLINE#如果已定义(__GNUC__)||定义的(__GNUG__)#define INL
..
我目前正在尝试使用Intel编译器来编译用于HPC-Cluster的软件.登录节点是我编译和准备计算的地方,使用英特尔至强E5-2660 v3 / Intel Xeon Gold 6138 ). 据我从上面的链接了解,我的登录节点支持Intel SSE4.2,Intel AVX,Intel AVX2和Intel AVX-512,但我的计算节点仅支持Intel AVX2(Haswell)或In
..
嗨,我正在尝试使用icc编译器(11.1.088)在Xcode上编译基于gcc的代码 但我有以下错误: catastrophic error: could not open source file "algorithm" 查看此文件后,它位于gcc包含目录中,但是我收到数百个错误... 有人有建议吗? 谢谢. 解决方案 您将基本SDK设置为什么?以及什么版本的Xcod
..
我在Linux上安装了Intel Compiler composer_xe_2013_sp1.3.174.我对icc警告感到困惑.用简单的main.c程序向icc馈入,如下所示: int main(int argc, char **argv) { int a = 1; unsigned int b = -22; if (b = a) { } } 我用命令icc -Wal
..
我尝试在msasm中使用icc内联汇编程序: int main (void) { __asm{ mov eax, 5h; //works push eax; // after shell command /opt/intel/bin/icc -use_msasm asm.c: // asm.c(7): (col. 5) err
..
众所周知,NaN是以算术方式传播的,但是我找不到任何示范,所以我写了一个小测试: #include #include int main(int argc, char* argv[]) { float qNaN = std::numeric_limits::quiet_NaN(); float neg = -qNaN;
..
当尝试调试使用Intel Bi-Endian编译器编译的代码时,我无法查看数据。 这似乎是我的数据被标记为大端字节。 我要查看的数据是 __ be_x ,其中 x 是 int 。 尝试打印 x 当它的值是1时,我得到了这个值,可能是因为这个值被插入为小端而不是大端: (gdb)p __be_x $ 4 = 16777216 (gdb)x / 4b 0xf850aa0
..
对此我非常陌生,我有elf文件 input.out ,需要从中创建十六进制可执行文件。我正在使用objcopy以intel十六进制格式创建可执行文件,如下所示: objcopy -O ihex input.out out.hex hex包含所有部分(.interp,.note.ABI-tag等)的数据,但是我不确定可执行文件是否全部必需。只是.text部分足以创建可执行
..