本节介绍了用于编译使用 Oracle Developer Studio 性能库例程的应用程序的最基本的编译器选项。
要使用 Oracle Developer Studio 性能库,请键入以下命令之一。
my_system% f95 -dalign my_file.f -library=sunperf
在 SPARC 平台上:
my_system% cc -xmemalign=8s my_file.c -library=sunperf my_system% CC -xmemalign=8s my_file.cpp -library=sunperf
在 x86/64 平台上,-xmemalign=8s 将被忽略,因此可将其省略:
my_system% cc my_file.c -library=sunperf my_system% CC my_file.cpp -library=sunperf
要与 Oracle Developer Studio 性能库进行静态链接,请在命令行中添加 –staticlib=sunperf。
因为 Oracle Developer Studio 性能库例程是使用 –dalign 编译的,所以,如果程序中的任何例程进行 Oracle Developer Studio 性能库调用,则在编译所有 Fortran 文件时都应当使用此选项。在 SPARC 平台上,应使用选项 –xmemalign=8s 编译调用 Oracle Developer Studio 性能库例程的 C 和 C++ 用户代码。如果无法使用 –xmemalign=8s,则启用陷阱 6 是一个允许未对齐数据的低性能解决方法。有关更多详细信息,请参见在 SPARC 平台上启用陷阱 6。
虽然 x86/x64 平台上没有数据对齐限制,但是未对齐的数据可能需要额外指令来正确处理内存传输,这进而导致了性能降低。
–library=sunperf 选项包括其他编译器和系统库,如 Fortran 运行时和微任务库,并为所产生的可执行文件或共享库设置运行时搜索路径。
简而言之,可使用以下选项:
在编译时对所有 Fortran 文件使用 –dalign。
在 SPARC 平台上使用 –xmemalign=8s,或启用陷阱 6
使用相同的命令行选项进行编译和链接
–library=sunperf 或 -library=sunperf -staticlib=sunperf