49、编程中的并行计算、除法优化与常见错误分析

编程中的并行计算、除法优化与常见错误分析

1. 并行计算与 OpenMP

1.1 基本循环示例

在并行计算中,有一个简单的循环示例:

for (i=0; i<INT32_MAX; i++)
    check_nonce (i);

此代码在未使用 #pragma 时,会对从 0 到 INT32_MAX (即 0x7fffffff 或 2147483647)的每个数字调用 check_nonce() 函数。而使用 #pragma 后,编译器会添加特殊代码,将循环区间分割成更小的部分,以便在所有可用的 CPU 核心上运行。

1.2 编译方式

不同编译器有不同的编译命令:
- MSVC 2012

cl openmp_example.c sha512.obj /openmp /O1 /Zi /Faopenmp_example.asm
  • GCC
gcc -fopenmp 2.c sha512.c -S -masm=intel

1.3 MSVC 2012 编译分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值