Spaces:
Sleeping
Sleeping
import sys | |
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()) | |