亚麻OA求砸,面经神衣护体!


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 683|回复: 0
收起左侧

[编程题] Nvidia的expo上的一道C++题

[复制链接] |试试Instant~ |关注本帖
Wrath 发表于 2015-2-8 01:07:10 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
Foo(float* a, float* b, float* c, int N){
    for (int n = 0; n < N; n++) {
        a[n]+=c[n];
        b[n]+=c[n];
    }
}

Foo(float* a, float* b, float* c, int N){
    for (int n = 0; n < N; n++) {
        float cn = c[n];
        a[n]+=cn;
        b[n]+=cn;
    }
}

上面两个函数在任何时候运行结果都一样吗?如果不一样的话请说明原因。

一个学长说是multithread会导致第一个函数b[n]+=c[n];时c[n]已经发生了改变,请问是这样吗?

评分

1

查看全部评分

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-10-19 22:37

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表