QD == .. toctree:: :maxdepth: 1 :caption: Contents: About ----- `QD`_ stands for "Quad Double computation package" and it provides numeric types of twice the precision of IEEE double (106 mantissa bits, or approximately 32 decimal digits) and four times the precision of IEEE double (212 mantissa bits, or approximately 64 decimal digits). Supported versions ------------------ To check which zlib versions and build types are currently supported on Discoverer, execute on the login node: .. code-block:: bash module avail qd The recipe followed to build the source code is available at: https://gitlab.discoverer.bg/vkolev/recipes/-/tree/main/qd .. note:: Currently, there is no LLVM-compatible QD build. That is due to the incomplete Fortran implementation provided in the vanilla LLVM code (no ``etime`` subroutine). Loading/Compiler affinity ------------------------- Each version of QD installed in the public software repository is built against four compiler sets: (i) :doc:`oneapi`, (ii) :doc:`nvidia_hpc_sdk`, (iii) :doc:`aocc`, (iv) :doc:`gcc`. The name of the environmental module contains the name of the compiler set employed for compiling the QD source code. Intel oneAPI ............ .. code-block:: bash module avail qd/*/*intel NVIDIA HPC SDK .............. .. code-block:: bash module avail qd/*/*nvidia .. warning:: QD also comes with the installation of :doc:`nvidia_hpc_sdk`. One may check the parameters of that QD installation by loading first the NVIDIA HPC SDK compiler modules and then use the ``qd-config`` tool. AOCC .... .. code-block:: bash module avail qd/*/*aocc GCC ... .. code-block:: bash module avail qd/*/*gcc Getting help ------------ See :doc:`help` .. _`QD`: https://www.davidhbailey.com/dhbsoftware/