- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
:
::
本文档内容由ice根据CUDAProfessional讨论整理而来。简要经过
和结论由ice总结并写在本文前部,脱水版讨论原文附于其后。ice不保证该总结100%正确,
参考,请以讨论原文为准。讨论原文中,各人观点由发言的各人负责,发言内容的所有
权益亦归发言的各人享有。欢迎参考,讨论。
如非性学术组织和个人需要学习和使用文中内容,请给予合适的和致谢。
如其他性质组织和团体需要使用文中内容,请联系文中的发言的群友,取得。
其他未尽事宜,请联系CUDAProfessional管理团队。
2012-5-5第一版根据当日上午讨论内容总结整理,第一次发布。
2012-5-5第二版邀请神秘琪琪审阅了第一版,并对该问题作了讨论和验证,整理为第
二版。和琪琪的脱水版讨论附于最后。对琪琪的大力支持表示由衷的感谢。
2012-5-5第二版修正版(rev2.1)由琪琪大人统稿并做了修正和删减。
和结论:
和结论:
事情经过:[]-石头(736183739)发现他的某个class在cpp文件内编译后的大小和在cu
内编译后的大小不同,造成赋值错位,并验证了这一点。(琪琪:--正常。谁让他是.cpp
而不是.cu呢。这导致文件不会被nvcc过一遍的。联合编译不会出问题)经过讨论,风辰认
为“float4在在设备端是16字节对齐的,如果是vs或gcc则是4字节,你可以使用gcc的
attribute对齐到16字节,vs也应该有相关的设置”。(琪琪:“--这个要看情况下。如
果被nvcc过了一遍了,是16B对齐的。”并通过实测得知,.cu里的hostcode,float4对齐
到16B;32-bit.p,VC下,float4对齐到4B;--64bit的.p,VC下,float4对齐到16B。
也就是只会在分开编译,且是32位VC的情况下发生。64bit的VC分开编译结果和参与混
合编译的一样。)同时ice发现programmingguide4.2中也分别提到过相关内容。
B.3.1
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
结论:在使用class/struct的时候要十分内建变量在device端和host端由于对齐约定不
同,造成的实际位置不同,进而产生错误。
经琪琪指正,结论重新整理为:
hostcode用.cu的话,NVCC会在将host端code交给hostcompiler之前做修改,被NVCC
过滤后的hostcode里的struct实际上是带有__attribute__的对齐的属性的(某些情况下可能
是作为编译器的对齐参数,例如-malign-double,在-m32的gcc下的时候)(或者将某些,这
将指导hostcompiler采用和NVCC一致的对齐方式,如此怎么用都无需考虑。)
如果是不能联合编译的情况(如C#),或者是使用driverAPI,那么请手工根据对应的
编译器进行对应形式的“align”。
如果是NVCC下,因为某种需要调整对齐模式,建议使用NVCC自带的__align__(n),
这是一个自动转换的宏,会根据hostcompiler是VC还是GCC,是32位还是64位目标代
码编译,而自动转换为合适的形式。
任何调用/使用.cu里的东西的,都推荐在另外一个.cu里。否则就算能编译,结果可能异
常。
同时实验得知,.cu中的float4是自动对齐到16B的,.p在64bitVC下恰好也是16B
对齐,而在32bitVC下是4B对齐。
脱水版原文:
脱水版原文:
[]-石头(736183739)9:30:57
VC里边遇到诡异的bug
[]-石头(736183739)9:31:05
一个结构体A
[]
您可能关注的文档
- 超越外星人3gogotalk主修青少级.pdf
- gogo小童星入门课程1 a0 l3.pdf
- 上半全国教师资格笔试高分攻略保教知识与能力.pdf
- 参考分析二章.pptx
- 压力液位显示仪表实验.pdf
- 大三下数值分析报告.pdf
- delphi6应用开发指南章创建windows程序.pdf
- hi3516c cv300演示板用户指南.pdf
- zpmc zp13-2125 as built sec abpm singapore controller operations竣工控制器操作手册.pdf
- 案例brandlmayr peter wallenstorfer equip system v3配备tpsicmt系统.pptx
- 2021年陕西省铜川市公开招聘警务辅助人员辅警笔试模拟自测题B卷含答案.docx
- 2022年甘肃省天水市公开招聘警务辅助人员辅警笔试冲刺自测题一卷含答案.docx
- 2024年贵州省铜仁市公开招聘警务辅助人员辅警笔试经典练习卷A含答案.docx
- 2023年贵州省遵义市公开招聘警务辅助人员辅警笔试模拟自测题C卷含答案.docx
- 2022年甘肃省酒泉市公开招聘警务辅助人员辅警笔试经典练习卷A含答案.docx
- 2021年甘肃省张掖市公开招聘警务辅助人员辅警笔试专项训练卷2含答案.docx
- 2022年内蒙古自治区鄂尔多斯市公开招聘警务辅助人员辅警笔试模拟自测题A卷含答案.docx
- 2021年湖北省咸宁市公开招聘警务辅助人员辅警笔试模拟自测题A卷含答案.docx
- 2022年河北省邢台市公开招聘警务辅助人员辅警笔试冲刺自测题一卷含答案.docx
- 2021年河北省石家庄市公开招聘警务辅助人员辅警笔试摸底测试2卷含答案.docx
最近下载
- 误差理论与数据处理第六版答案.docx VIP
- 优秀小学生成长档案手册成长简历模板(A4打印版本) .pdf VIP
- 构美-空间形态设计智慧树知到期末考试答案2024年.docx
- 重大危险源(储罐区、库区和生产场所)安全监控通用技术规范(征求意见稿).doc
- 三科2009-2016期末试卷1213审计学期末考试卷.pdf VIP
- 老有“所”舞——广州市逸景翠园居住区广场舞空间现状调研报告(终).pdf VIP
- 超声清洗_教程.ppt VIP
- 五年级上册人音版音乐:第4课《外婆的澎湖湾》示范课PPT.pptx
- 3三甲医院评审追踪检查流程-药事管理.pdf VIP
- 劳动教育课程-电子教案.docx VIP
文档评论(0)