電話PGI運行時不支持的功能 - !pgf90_copy_f77_argl_i8錯誤編譯OpenACC的例程「pgf90_copy_f77_argl_i8」
我相信我傳遞一個8字節的整數參數澳元ACC程序。
任何解決方法或在此更新?
PGI編譯器17.4
示例。
type some
integer(4),pointer :: xx(:)
integer(4),pointer :: yy(:)
end type
type(some), pointer :: data(:)
call func(data(3) % xx, data(5) % yy)
這裏func是acc例程,所以我想這種方法是創建一個問題。
我們將創建臨時數組,然後傳遞它們。
Thanks mat, 我在問題中添加了一些示例代碼。可能會讓事情變得更加清晰。 看起來目前的解決方案是創建臨時數組並在全局範圍內傳遞它們,然後再調用acc kerenels –
好的,所以這裏的問題是您要傳遞一個指針。由於指針可能不是連續的,這就是爲什麼需要添加這個運行時檢查。您可以嘗試將F2008「連續」屬性添加到指針的聲明中,以便編譯器知道它不需要此檢查。 –