ライブラリ開発者のための利用方法


ここでは、具体的に例をあげて各機能の説明をします。

ライブラリ開発者が所有するサブルーチンEigenSolverは、自動チューニングを行うライブラリ開発者サブルーチンfoo中でABCLibScriptのインタフェースを用いて、以下のような流れで記述できます。

subroutine foo(…)
include (ABCLibScript.h)

!ABCLib$ call ABCLib_ATset(ABCLib_ALL, ABCLib_AllRoutines)
!ABCLib$ call ABCLib_ATset(ABCLib_INSTALL. ABCLib_InstallRoutines)
!ABCLib$ call ABCLib_ATset(ABCLib_STATIC, ABCLib_StaticRoutines)
!ABCLib$ call ABCLib_ATset(ABCLib_DYNAMIC, ABCLib_DynamicRoutines)

!ABCLib$ call ABCLib_ATexec(ABCLib_INSTALL, ABCLib_InstallRoutines)


C インストール時自動チューニングのみ実行済み
!ABCLib$ call EigenSolver(…)

!ABCLib$ call ABCLib_ATexec(ABCLib_DYNAMIC, ABCLib_DynamicRoutines)


C インストール時、実行起動前、および実行時自動チューニング実行済み
!ABCLib$ call EigenSolver(…)

return
end