@@ -394,27 +394,77 @@ attributes(device) subroutine sincospi(x, y, z) bind(c,name='__nv_sincospi')
394
394
end interface
395
395
396
396
interface
397
- attributes(device) real (4 ) function __cosf(x) bind(c, name= ' __nv_cosf ' )
397
+ attributes(device) real (4 ) function __cosf(x) bind(c, name= ' __nv_fast_cosf ' )
398
398
real (4 ), value :: x
399
399
end function
400
400
end interface
401
401
402
+ interface __exp10f
403
+ attributes(device) real function __exp10f(r) bind(c, name= ' __nv_fast_exp10f' )
404
+ ! dir$ ignore_tkr (d) r
405
+ real , value :: r
406
+ end function
407
+ end interface
408
+
409
+ interface __expf
410
+ attributes(device) real function __expf(r) bind(c, name= ' __nv_fast_expf' )
411
+ ! dir$ ignore_tkr (d) r
412
+ real , value :: r
413
+ end function
414
+ end interface
415
+
402
416
interface __fdividef
403
417
attributes(device) real function __fdividef(r,d) bind(c, name= ' __nv_fast_fdividef' )
404
418
! dir$ ignore_tkr (d) r, (d) d
405
419
real , value :: r,d
406
420
end function
407
421
end interface
408
422
423
+ interface __log10f
424
+ attributes(device) real function __log10f(r) bind(c, name= ' __nv_fast_log10f' )
425
+ ! dir$ ignore_tkr (d) r
426
+ real , value :: r
427
+ end function
428
+ end interface
429
+
430
+ interface __log2f
431
+ attributes(device) real function __log2f(r) bind(c, name= ' __nv_fast_log2f' )
432
+ ! dir$ ignore_tkr (d) r
433
+ real , value :: r
434
+ end function
435
+ end interface
436
+
437
+ interface __logf
438
+ attributes(device) real function __logf(r) bind(c, name= ' __nv_fast_logf' )
439
+ ! dir$ ignore_tkr (d) r
440
+ real , value :: r
441
+ end function
442
+ end interface
443
+
444
+ interface
445
+ attributes(device) real (4 ) function __powf(x,y) bind(c, name= ' __nv_fast_powf' )
446
+ ! dir$ ignore_tkr (d) x, y
447
+ real (4 ), value :: x, y
448
+ end function
449
+ end interface
450
+
451
+ interface __sincosf
452
+ attributes(device) subroutine __sincosf (r , s , c ) bind(c, name= ' __nv_fast_sincosf' )
453
+ ! dir$ ignore_tkr (d) r, (d) s, (d) c
454
+ real , value :: r
455
+ real :: s, c
456
+ end subroutine
457
+ end interface
458
+
409
459
interface __sinf
410
- attributes(device) real function __sinf(r) bind(c, name= ' __nv_sinf ' )
460
+ attributes(device) real function __sinf(r) bind(c, name= ' __nv_fast_sinf ' )
411
461
! dir$ ignore_tkr (d) r
412
462
real , value :: r
413
463
end function
414
464
end interface
415
465
416
466
interface __tanf
417
- attributes(device) real function __tanf(r) bind(c, name= ' __nv_tanf ' )
467
+ attributes(device) real function __tanf(r) bind(c, name= ' __nv_fast_tanf ' )
418
468
! dir$ ignore_tkr (d) r
419
469
real , value :: r
420
470
end function
@@ -1078,13 +1128,6 @@ attributes(device) real(8) function sinpi(x) bind(c,name='__nv_sinpi')
1078
1128
end function
1079
1129
end interface
1080
1130
1081
- interface
1082
- attributes(device) real (4 ) function __powf(x,y) bind(c, name= ' __nv_powf' )
1083
- ! dir$ ignore_tkr (d) x, y
1084
- real (4 ), value :: x, y
1085
- end function
1086
- end interface
1087
-
1088
1131
interface __brev
1089
1132
attributes(device) integer function __brev(i) bind(c, name= ' __nv_brev' )
1090
1133
! dir$ ignore_tkr (d) i
@@ -1944,41 +1987,6 @@ attributes(device,host) logical function on_device() bind(c)
1944
1987
end function
1945
1988
end interface
1946
1989
1947
- interface __log2f
1948
- attributes(device) real function __log2f(r) bind(c, name= ' __nv_log2f' )
1949
- ! dir$ ignore_tkr (d) r
1950
- real , value :: r
1951
- end function
1952
- end interface
1953
-
1954
- interface __log10f
1955
- attributes(device) real function __log10f(r) bind(c, name= ' __nv_log10f' )
1956
- ! dir$ ignore_tkr (d) r
1957
- real , value :: r
1958
- end function
1959
- end interface
1960
-
1961
- interface __logf
1962
- attributes(device) real function __logf(r) bind(c, name= ' __nv_logf' )
1963
- ! dir$ ignore_tkr (d) r
1964
- real , value :: r
1965
- end function
1966
- end interface
1967
-
1968
- interface __expf
1969
- attributes(device) real function __expf(r) bind(c, name= ' __nv_expf' )
1970
- ! dir$ ignore_tkr (d) r
1971
- real , value :: r
1972
- end function
1973
- end interface
1974
-
1975
- interface __exp10f
1976
- attributes(device) real function __exp10f(r) bind(c, name= ' __nv_exp10f' )
1977
- ! dir$ ignore_tkr (d) r
1978
- real , value :: r
1979
- end function
1980
- end interface
1981
-
1982
1990
contains
1983
1991
1984
1992
attributes(device) subroutine syncthreads ()
0 commit comments