Nvidia Hpc Compilers Reference Guide
Total Page:16
File Type:pdf, Size:1020Kb
NVIDIA HPC COMPILERS REFERENCE GUIDE PR-09861-001-V20.7 | August 2020 TABLE OF CONTENTS Preface..........................................................................................................................................................xi Audience Description...............................................................................................................................xi Compatibility and Conformance to Standards.......................................................................................xi Organization............................................................................................................................................ xii Hardware and Software Constraints....................................................................................................xiii Conventions............................................................................................................................................ xiii Terms...................................................................................................................................................... xiv Related Publications...............................................................................................................................xv Chapter 1. Fortran, C, and C++ Data Types............................................................................................... 1 1.1. Fortran Data Types........................................................................................................................... 1 1.1.1. Fortran Scalars.......................................................................................................................... 1 1.1.2. FORTRAN real(2)........................................................................................................................ 3 1.1.3. FORTRAN 77 Aggregate Data Type Extensions........................................................................3 1.1.4. Fortran 90 Aggregate Data Types (Derived Types).................................................................. 4 1.2. C and C++ Data Types...................................................................................................................... 5 1.2.1. C and C++ Scalars..................................................................................................................... 5 1.2.2. C and C++ Aggregate Data Types............................................................................................. 6 1.2.3. Class and Object Data Layout...................................................................................................7 1.2.4. Aggregate Alignment................................................................................................................. 7 1.2.5. Bit-field Alignment.....................................................................................................................8 1.2.6. Other Type Keywords in C and C++.......................................................................................... 9 Chapter 2. Command-Line Options Reference........................................................................................ 10 2.1. HPC Compilers Option Summary.................................................................................................. 10 2.1.1. Build-Related NVIDIA Options.................................................................................................11 2.1.2. HPC Debug-Related Compiler Options...................................................................................13 2.1.3. HPC Optimization-Related Compiler Options.........................................................................14 2.1.4. NVIDIA Linking and Runtime-Related Compiler Options...................................................... 14 2.2. Generic HPC Compiler Options......................................................................................................15 2.2.1. -#...............................................................................................................................................15 2.2.2. -###..........................................................................................................................................16 2.2.3. The -acc option........................................................................................................................ 16 2.2.4. -Bdynamic.................................................................................................................................17 2.2.5. -Bstatic......................................................................................................................................18 2.2.6. -Bstatic_nv................................................................................................................................18 2.2.7. -byteswapio...............................................................................................................................19 2.2.8. -C...............................................................................................................................................20 2.2.9. -c............................................................................................................................................... 20 2.2.10. -d<arg>....................................................................................................................................21 2.2.11. -D.............................................................................................................................................22 2.2.12. -dryrun.................................................................................................................................... 23 NVIDIA HPC Compilers Reference Guide Version 20.7 | ii 2.2.13. -drystdinc................................................................................................................................ 23 2.2.14. -E............................................................................................................................................. 24 2.2.15. -F............................................................................................................................................. 24 2.2.16. -fast......................................................................................................................................... 25 2.2.17. -fastsse................................................................................................................................... 25 2.2.18. --flagcheck..............................................................................................................................25 2.2.19. -flags....................................................................................................................................... 26 2.2.20. -fpic......................................................................................................................................... 26 2.2.21. -fPIC........................................................................................................................................ 27 2.2.22. -g............................................................................................................................................. 27 2.2.23. -gopt........................................................................................................................................28 2.2.24. -g77libs................................................................................................................................... 28 2.2.25. -help........................................................................................................................................ 29 2.2.26. -I.............................................................................................................................................. 31 2.2.27. -i2, -i4, -i8...............................................................................................................................32 2.2.28. -K<flag>...................................................................................................................................32 2.2.29. --keeplnk................................................................................................................................ 34 2.2.30. -L............................................................................................................................................. 34 2.2.31. -l<library>................................................................................................................................35 2.2.32. -M............................................................................................................................................ 36 2.2.33. -m............................................................................................................................................36 2.2.34. -m64........................................................................................................................................ 36 2.2.35. -M<pgflag>..............................................................................................................................37 2.2.36. -mcmodel=medium................................................................................................................ 43 2.2.37. -module <moduledir>...........................................................................................................