检测BLAS的ILP模式

时间:2016-05-18 12:39:21

标签: fortran blas

blas数学库以i32lp64模式(即整数* 4整数)或ilp64模式(整数* 8或8字节整数)分布。

问题是如何在短Fortran例程中区分这两种BLAS模式(i32lp64 vs ilp64),并且不会导致段错误。

1 个答案:

答案 0 :(得分:0)

那么,

当您将此程序与ilp64 blas库链接时,我们会遇到程序崩溃。在i32lp64的情况下,不会发生崩溃。

这是ilp64和i32lp64 blas之间的区别;不是很优雅,但可行。

program test
integer*8, parameter :: inc = +1_8 + 2_8**33_8
real*8 :: a(3),d
integer :: ii
a(1)=1.0d0; a(2)=1.0d0;a(3)=1.0d0
d=ddot(3,a,inc,a,inc)
print *,"inc=",inc
print *,"d=",d
end program