问题标签 [g++-4.7]
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++ - OpenMP:不要使用超线程内核(半 `num_threads()` w/超线程)
在g++ 4.7 中的 OpenMP (parallel for) 效率不是很高吗?2.5x at 5x CPU,我确定我的程序的性能在 11s 和 13s 之间变化(通常总是在 12s 以上,有时慢到 13.4s),在使用默认值时 CPU 大约为 500% #pragma omp parallel for
,而 OpenMP 的速度提升仅为在g++-4.7 -O3 -fopenmp
4 核 8 线程 Xeon 上,5 倍 CPU 时 2.5 倍。
我尝试使用schedule(static) num_threads(4)
,并注意到我的程序总是在 11.5 秒到 11.7 秒(总是低于 12 秒)内以大约 320% 的 CPU 完成,例如,运行更一致,并且使用更少的资源(即使最好的运行比慢半秒超线程的罕见异常值)。
是否有任何简单的 OpenMP 方式来检测超线程,并减少num_threads()
到 CPU 内核的实际数量?
(有一个类似的问题,Poor performance due to hyper-threading with OpenMP: how to bind threads to cores,但在我的测试中,我发现仅仅从 8 个线程减少到 4 个线程就已经完成了 w/g++-4.7 的工作在 Debian 7 wheezy 和 Xeon E3-1240v3 上,所以,这个问题仅仅是关于减少num_threads()
内核数量。)
arm - 为 arm-linux-gnueabi-g++ 的目标添加预取功能
以下代码行已arm-linux-gnueabi-g++-4.7
在 Ubuntu 主机上使用交叉编译。prfm
应该为特定行生成指令,但事实并非如此。
编译命令是:
在此处引用与该问题相关的gcc 参考中的一行:
如果目标不支持数据预取,如果地址表达式包含副作用但不生成其他代码并且 GCC 不发出警告,则计算地址表达式。
最后一条信息是交叉编译器是通过 using 安装的apt-get install
,而不是从头开始安装的。
问题来了:
如何简单地将数据预取支持添加到arm-linux-gnueabi-g++-4.7
交叉编译器的目标?
提前致谢
c++11 - centos6.5中存在g++(4.4和4.7)两个版本,g++4.7如何使用
我将学习c++11,所以我安装了g++4.7,当我使用时g++ --version
,它显示4.4版本。但是当我使用时find / -name g++
,它显示
/opt/centos/devtoolset-1.1/root/usr/bin/g++
/usr/bin/g++
第一个版本是4.7,第二个版本是4.4,如何将g ++ 4.7设置为默认值。谢谢!
c++11 - arm-linux-gnueabi-g++-4.7交叉编译c++11
我正在尝试使用带有 arm-linux-nueabi-g++-4.7 编译器的 std::future 编译一个示例;但是,我有以下错误:
user@user-virtual-machine:~/projects/prova$ arm-linux-gnueabi-g++-4.7 -pthread -std=c++11 -c main.cpp
main.cpp:在函数“int main()”中:
main.cpp:8:35:错误:变量“std::packaged_task task”具有初始化程序但类型不完整
有人可以告诉我我做错了什么吗?我将编译器安装为分发包。
代码:
ld - 如何强制 g++ 创建 C 符号名称
我在 cpp 文件中有一个名为 init 的函数,但是当我编译它时,g++ 在目标文件中创建了一个名为 _Z4initv 的符号,所以当我在 ld 之后使用选项 -e init 链接时,显然 ld 无法识别该符号在里面。有没有办法用 g++ 创建 C 风格的符号名称?
matlab - 如何强制 MATLAB 2016a 使用 gcc-4.7.x 而不是我拥有的 (gcc-5.4.1)?
对于旧版本的 MATLAB,有一些关于此的帖子,但它们似乎不适用于 R2016a。
我正在尝试在 Ubuntu 16.04 上安装 MatConvNet。当我按照此处vl_compilenn
所述运行命令时,它会给我一个警告,如下所示:
我已经安装了 gcc-4.7 和 g++-4.7 使用apt-get install gcc-4.7 g++-4.7
. 如何强制 MATLAB 使用这些版本而不是默认版本?
c++ - g ++:尝试执行'jc1'时出错:execvp:没有这样的文件或目录
我试图使用 g++ 编译我的 cpp 代码,每次我得到这个错误:
我正在执行这个命令:
我的 cpp 程序包含与 oracle db 连接的代码。我的cpp代码如下: