建议gcc -O3,不行就把关键循环拿出来汇编写。
换成cuda程序会改动很大,而且不一定快。不过既然对性能有追求,试一试也不妨的。
【 在 libgcc (巭孬嫑夯昆勥茓) 的大作中提到: 】
: 之前的代码都是
: for ...
: for....
: 纯嵌套循环实现的,1024x1024的数据和图像处理
: 用-O2编译了一下看汇编好像gcc已经生成了simd的指令
: 不过性能还是不够好
: 有没有必要自己重新用avx优化一道?会不会比原有的版本性能强很多?
: 或者上openmp试试?
: 我很纠结,因为实在不行就直接上cuda算了,cuda我还会点simd我反正也没怎么搞过还要
: 一边学一边写,万一搞出来跟现在的这个版本差不多,感觉也浪费精力了
--
FROM 114.87.16.*