Specjalne funkcje wyzwalania podwójnej precyzji CUDA dla SFU
Zastanawiałem się, jak bym użył__cos(x)
(i odpowiednio__sin(x)
) w kernelu z CUDA. Sprawdziłem w podręczniku CUDA, że istnieje taka funkcja urządzenia, ale kiedy ją implementuję, kompilator mówi, że nie mogę wywołać funkcji hosta w urządzeniu.
Jednak odkryłem, że istnieją dwie siostrzane funkcjecosf(x)
i__cosf(x)
ten ostatni działa na SFU i jest znacznie szybszy niż oryginałcosf(x)
funkcjonować. Kompilator nie narzeka na__cosf(x)
funkcja oczywiście.
Czy brakuje mi biblioteki? Czy mylę się co do tej funkcji wyzwalania?