| Viewing file:  nv.py (1.52 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
from numpy.distutils.fcompiler import FCompiler
 compilers = ['NVHPCFCompiler']
 
 class NVHPCFCompiler(FCompiler):
 """ NVIDIA High Performance Computing (HPC) SDK Fortran Compiler
 
 https://developer.nvidia.com/hpc-sdk
 
 Since august 2020 the NVIDIA HPC SDK includes the compilers formerly known as The Portland Group compilers,
 https://www.pgroup.com/index.htm.
 See also `numpy.distutils.fcompiler.pg`.
 """
 
 compiler_type = 'nv'
 description = 'NVIDIA HPC SDK'
 version_pattern = r'\s*(nvfortran|(pg(f77|f90|fortran)) \(aka nvfortran\)) (?P<version>[\d.-]+).*'
 
 executables = {
 'version_cmd': ["<F90>", "-V"],
 'compiler_f77': ["nvfortran"],
 'compiler_fix': ["nvfortran", "-Mfixed"],
 'compiler_f90': ["nvfortran"],
 'linker_so': ["<F90>"],
 'archiver': ["ar", "-cr"],
 'ranlib': ["ranlib"]
 }
 pic_flags = ['-fpic']
 
 module_dir_switch = '-module '
 module_include_switch = '-I'
 
 def get_flags(self):
 opt = ['-Minform=inform', '-Mnosecond_underscore']
 return self.pic_flags + opt
 
 def get_flags_opt(self):
 return ['-fast']
 
 def get_flags_debug(self):
 return ['-g']
 
 def get_flags_linker_so(self):
 return ["-shared", '-fpic']
 
 def runtime_library_dir_option(self, dir):
 return '-R%s' % dir
 
 if __name__ == '__main__':
 from distutils import log
 log.set_verbosity(2)
 from numpy.distutils import customized_fcompiler
 print(customized_fcompiler(compiler='nv').get_version())
 
 |