Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • gpu_offloading gpu_offloading
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Okke van Eck
  • gpu_offloadinggpu_offloading
  • Wiki
  • 1.d. Profiling & Debugging

1.d. Profiling & Debugging · Changes

Page history
Update 1.d. Profiling & Debugging authored Nov 06, 2023 by Okke van Eck's avatar Okke van Eck
Hide whitespace changes
Inline Side-by-side
1.d.-Profiling-&-Debugging.md
View page @ ef1e27b9
......@@ -117,7 +117,7 @@ For the `nvfortran` compiler there are a couple compiler flags that give extra i
| -Wall | N/A | N/A | Turns on 'all' warnings. |
| -Wextra | N/A | N/A | Turns on 'extra' warnings. |
| -Minfo[=options] | <ul><li>`all`: -Minfo=accel,inline,ipa,loop,lre,mp,opt,par,vect,stdpar</li><li>`accel`: Enable Accelerator information.</li><li>`ftn`: Enable Fortran-specific information.</li><li>`inline`: Enable inliner information.</li><li>`intensity`: Enable compute intensity information.</li><li>`ipa`: Enable IPA (Interconnect Prototyping Assistant) information.</li><li>`loop`: Enable loop optimization information.</li><li>`lre`: Enable LRE (Loop-carried Redundancy Elimination) information.</li><li>`mp`: Enable OpenMP information.</li><li>`opt`: Enable optimizer information.</li><li>`par`: Enable parallelizer information.</li><li>`pcast`: Enable PCAST (Parallel Compiler Assisted Software Testing) information.</li><li>`pfo` Enable profile feedback information.</li><li>`stat`: Same as -Minfo=time.</li><li>`time`: Display time spent in compiler phases.</li><li>`vect`: Enable vectorizer information.</li><li>`stdpar`: Enable stdpar (set with -stdpar flag) information.</li></ul> | -Minfo=accel,ftn,inline,intensity,loop,mp,opt,par,pcast,pfo,vect | Display compile-time optimization listings. |
| -Mneginfo[=options] | <ul><li>`all`: -Mneginfo=accel,inline,ipa,loop,lre,mp,opt,par,vect,stdpar</li><li>`accel`: Enable Accelerator information.</li><li>`ftn`: Enable Fortran-specific information.</li><li>`inline`: Enable inliner information.</li><li>`ipa`: Enable IPA (Interconnect Prototyping Assistant) information.</li><li>`loop`: Enable loop optimization information.</li><li>`lre`: Enable LRE (Loop-carried Redundancy Elimination) information.</li><li>`mp`: Enable OpenMP information.</li><li>`opt`: Enable optimizer information.</li><li>`pfo` Enable profile feedback information.</li><li>`vect`: Enable vectorizer information.</li><li>`stdpar`: Enable stdpar (set with -stdpar flag) information.</li></ul> | -Minfo=accel,ftn,inline,loop,mp,opt,par,pfo,vect | Display inhibited compile-time optimization listings. |
| -Mneginfo[=options] | <ul><li>`all`: -Mneginfo=accel,inline,ipa,loop,lre,mp,opt,par,vect,stdpar</li><li>`accel`: Enable Accelerator information.</li><li>`ftn`: Enable Fortran-specific information.</li><li>`inline`: Enable inliner information.</li><li>`ipa`: Enable IPA (Interconnect Prototyping Assistant) information.</li><li>`loop`: Enable loop optimization information.</li><li>`lre`: Enable LRE (Loop-carried Redundancy Elimination) information.</li><li>`mp`: Enable OpenMP information.</li><li>`opt`: Enable optimizer information.</li><li>`pfo` Enable profile feedback information.</li><li>`vect`: Enable vectorizer information.</li><li>`stdpar`: Enable stdpar (set with -stdpar flag) information.</li></ul> | -Mneginfo=accel,ftn,inline,loop,mp,opt,par,pfo,vect | Display inhibited compile-time optimization listings. |
| -Mlist | N/A | N/A | Create compiler listing files. |
For the optimization flag `-O[N]`, it is possible to control the automatic vectorization as well when using `-O2` or higher. These options can be set with the `-M[no]vect=[options]` flag. These options are listed in the [1.b. Compilers](1.b.-Compilers) section.
......@@ -131,6 +131,9 @@ Then it is also possible to control some other behavior when using `-O3`:
| -Mrecip-div | Rewrite x/y => x*1/y if profitable. |
| -Mfactorize | Enable factorization. |
Compilation per project for debugging:
**nemo-build:** ```nvfortran -G -O0 -lm -fopenmp -mp=gpu -Wall -Wextra -C -Minfo=accel,ftn,inline,intensity,loop,mp,opt,par,pcast,pfo,vect -Mneginfo=accel,ftn,inline,loop,mp,opt,par,pfo,vect -Mlist```
---
There are also environment variables that can be set for extra information during runtime:
......
Clone repository
  • 0. Sources
  • 0.a. Documentation & Manuals
  • 0.b. Slides
  • 0.c. Papers
  • 0.d. Misc
  • 1. Offloading process
  • 1.a. Supercomputers
  • 1.b. Compilers
  • 1.c. OpenMP directives
  • 1.d. Profiling & Debugging
  • 1.e Performance hazards
  • 2. Nemo standalone
  • 3. Tools
  • 3.a. Intel Offload Advisor & Intel VTune
  • 3.b. CPU and GPU performance overview
View All Pages