... | ... | @@ -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:
|
... | ... | |