fortran调用CUBLAS&CUFFT暂记。。。

整个过程都非常纠结。。。 上来ubuntu上调cublas还比较顺利。但是后来搬centos时很小白地把ubuntu上的.o文件也拷过去了,然后必然什么都不成功,在上面浪费n多时间。此外cuda 3.0有fortran.c和fortran_thunking.c两个fortran的wrapper,一开始没仔细看文档还照着2.3的方式编译,也浪费了点时间…… cublas还是小事……c
摘要由CSDN通过智能技术生成

整个过程都非常纠结。。。

 

上来ubuntu上调cublas还比较顺利。但是后来搬centos时很小白地把ubuntu上的.o文件也拷过去了,然后必然什么都不成功,在上面浪费n多时间。此外cuda 3.0有fortran.c和fortran_thunking.c两个fortran的wrapper,一开始没仔细看文档还照着2.3的方式编译,也浪费了点时间……

 

cublas还是小事……cufft折腾死我了!显是被网上的教程蛊惑,说cufft没有提供wrapper,自己写一下就好了。网上狂搜一通,搜不到相关wrapper,于是决定硬着头皮自己写……研究了下fortran.c和fortran调用c的方法,写出来的结果仅仅是编译通过。这里要再骂下那个教程(http://www.gsic.titech.ac.jp/~ccwww/tebiki/tesla_e/tesla6_e.html),里面fortran的例子竟然没有cpu-gpu内存交换,虽然我一上来就怀疑有问题,不过还是暂且没多想……于是果然杯具了,看了下sdk里面的simpleCUFFT里面是有内存交换的,个么就是说不能没有……也就是说还要有cuda的wrapper……我就搞不懂了既然blas的wrapper都写,fft噶重要的库wrapper不能顺便搞一个嘛!真是的……nv不晓得了想撒。像导师反应了情况,一上来被bs,扔给我个网页说上面有使用方法。一看wk都是废话,没有关键步骤的解决方法。叫我连cuda.o和cufft.o这两个根本不存在的库一刚!后来发现这玩意儿那个站点有下,于是千辛万苦翻墙去那里找了半天终于找到了。。。下下来,连,里面的测试函数都通不过,可能是cuda版本问题,反正又浪费n多感情。最后姐姐我终于开窍了……直接fortran调用cuda不就好了嘛……于是搜啊搜,试啊试,最后的解决方法巨sb……extern "C"+把cuda c函数里面的参数都搞成指针就ok了……因为fortran都是直接传地址。

 

反正每次回头想想都会觉得之前自己咋就那么傻呢……但这样是不是说明我在不断变聪明中……但愿吧……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值