Differences between revisions 6 and 7
Revision 6 as of 2020-09-02 13:52:56
Size: 2038
Editor: davidsch
Comment:
Revision 7 as of 2020-09-02 13:56:26
Size: 1997
Editor: davidsch
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
Libraries: ==== Libraries ====
Line 11: Line 11:
{{{
The /usr/lib/x86_64-linux-gnu/libGL*.so OpenGL libraries are symbolic links to the hardware-specific libraries. There is a mechanism in the starup process of each client workstation which detects the accurate OpenGL library based on the information about the graphics card and the kernel driver. The CUDA runtime libraries are found in the same directory.
}}}
 * The /usr/lib/x86_64-linux-gnu/libGL*.so OpenGL libraries are symbolic links to the hardware-specific libraries. There is a mechanism in the starup process of each client workstation which detects the accurate OpenGL library based on the information about the graphics card and the kernel driver. The CUDA runtime libraries are found in the same directory.
Line 15: Line 13:
Header Files: ==== Header Files ====
 * The OpenGL headers are found under /usr/include/GL. For NVidia programming, a CUDA toolkit that should work with the installed NVidia graphics card is installed (CUDA headers in /usr/include).
Line 17: Line 16:
{{{
The OpenGL headers are found under /usr/include/GL. For NVidia programming, a CUDA toolkit that should work with
the installed NVidia graphics card is installed (CUDA headers in /usr/include).
}}}
==== Compiling sources and linking against NVidia libraries ====
Line 22: Line 18:
Compiling sources and linking against NVidia libraries:
{{{
No special CFLAGS/ CXXFLAGS and LDFLAGS must be set. The required headers and libraries are all found under the
standard system paths. If you use an own OpenGL/ CUDA toolkit, e.g. installed in your home, make sure it is
compatible with the graphics driver/ hardware installed on the system. Note: if you don't have brand new hardware
in your computer, the most current CUDA release most probably won't work with it - use an older relase or ask
ISG.EE if you are in doubt about the right version.
* No special CFLAGS/ CXXFLAGS and LDFLAGS must be set. The required headers and libraries are all found under the standard system paths. If you use an own OpenGL/ CUDA toolkit, e.g. installed in your home, make sure it is compatible with the graphics driver/ hardware installed on the system. Note: if you don't have brand new hardware in your computer, the most current CUDA release most probably won't work with it - use an older relase or ask ISG.EE if you are in doubt about the right version.
* Then set CFLAGS (for C-compiler), CXXFLAGS (for C++ compiler) and LDFLAGS (linker flags) as follows: {{{
Line 30: Line 21:
Then set CFLAGS (standard C programming, e.g. compiling with gcc) and/ or CXXFLAGS (C++ programming,
e.g. compiling with g++) and LDFLAGS as follows:

Assume you have installed the toolkit under /home/$USER/toolkit, then set the mentioned environment
variables in your Debian shell (bash, tcsh, ...) as follows, before you start compiling/ linking:
Assume you have installed the toolkit under /home/$USER/toolkit, then set the mentioned environment variables
in your Debian shell (bash, tcsh, ...) as follows, before you start compiling/ linking:

OpenGL

Compiling OpenGL/ NVidia CUDA-based applications on Debian Linux

The Debian platform managed by ISG.EE uses the following directory layout for the OpenGL libraries and headers:

Libraries

  • The /usr/lib/x86_64-linux-gnu/libGL*.so OpenGL libraries are symbolic links to the hardware-specific libraries. There is a mechanism in the starup process of each client workstation which detects the accurate OpenGL library based on the information about the graphics card and the kernel driver. The CUDA runtime libraries are found in the same directory.

Header Files

  • The OpenGL headers are found under /usr/include/GL. For NVidia programming, a CUDA toolkit that should work with the installed NVidia graphics card is installed (CUDA headers in /usr/include).

Compiling sources and linking against NVidia libraries

* No special CFLAGS/ CXXFLAGS and LDFLAGS must be set. The required headers and libraries are all found under the standard system paths. If you use an own OpenGL/ CUDA toolkit, e.g. installed in your home, make sure it is compatible with the graphics driver/ hardware installed on the system. Note: if you don't have brand new hardware in your computer, the most current CUDA release most probably won't work with it - use an older relase or ask ISG.EE if you are in doubt about the right version. * Then set CFLAGS (for C-compiler), CXXFLAGS (for C++ compiler) and LDFLAGS (linker flags) as follows:

Assume you have installed the toolkit under /home/$USER/toolkit, then set the mentioned environment variables
in your Debian shell (bash, tcsh, ...) as follows, before you start compiling/ linking:

export CFLAGS="-I/home/$USER/toolkit/include"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="-L/home/$USER/toolkit/lib -Wl,-rpath,/home/$USER/toolkit/lib"

$USER must of course be replaced with your ETH (login-) username.


CategoryLXSW

Programming/Libraries/OpenGL (last edited 2023-10-16 13:36:41 by alders)