当前位置: 首页>>代码示例>>Python>>正文


Python unixccompiler.UnixCCompiler方法代码示例

本文整理汇总了Python中distutils.unixccompiler.UnixCCompiler方法的典型用法代码示例。如果您正苦于以下问题:Python unixccompiler.UnixCCompiler方法的具体用法?Python unixccompiler.UnixCCompiler怎么用?Python unixccompiler.UnixCCompiler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在distutils.unixccompiler的用法示例。


在下文中一共展示了unixccompiler.UnixCCompiler方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: _compile

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        # For sources other than CUDA C ones, just call the super class method.
        if os.path.splitext(src)[1] != '.cu':
            return unixccompiler.UnixCCompiler._compile(
                self, obj, src, ext, cc_args, extra_postargs, pp_opts)

        # For CUDA C source files, compile them with NVCC.
        _compiler_so = self.compiler_so
        try:
            nvcc_path = CUDA['nvcc']
            post_args = CUDA['post_args']
            # TODO? base_opts = build.get_compiler_base_options()
            self.set_executable('compiler_so', nvcc_path)

            return unixccompiler.UnixCCompiler._compile(
                self, obj, src, ext, cc_args, post_args, pp_opts)
        finally:
            self.compiler_so = _compiler_so 
开发者ID:benfred,项目名称:implicit,代码行数:20,代码来源:cuda_setup.py

示例2: _compile_cu

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def _compile_cu(self, sources, output_dir=None, macros=None,
                    include_dirs=None, debug=0, extra_preargs=None,
                    extra_postargs=None, depends=None):
        # Compile CUDA C files, mainly derived from UnixCCompiler._compile().
        macros, objects, extra_postargs, pp_opts, _build = \
            self._setup_compile(output_dir, macros, include_dirs, sources,
                                depends, extra_postargs)

        compiler_so = CUDA['nvcc']
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
        post_args = CUDA['post_args']

        for obj in objects:
            try:
                src, _ = _build[obj]
            except KeyError:
                continue
            try:
                self.spawn([compiler_so] + cc_args + [src, '-o', obj] + post_args)
            except errors.DistutilsExecError as e:
                raise errors.CompileError(str(e))

        return objects 
开发者ID:benfred,项目名称:implicit,代码行数:25,代码来源:cuda_setup.py

示例3: get_ethtool_macro

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def get_ethtool_macro():
        # see: https://github.com/giampaolo/psutil/issues/659
        from distutils.unixccompiler import UnixCCompiler
        from distutils.errors import CompileError

        with tempfile.NamedTemporaryFile(
                suffix='.c', delete=False, mode="wt") as f:
            f.write("#include <linux/ethtool.h>")

        output_dir = tempfile.mkdtemp()
        try:
            compiler = UnixCCompiler()
            # https://github.com/giampaolo/psutil/pull/1568
            if os.getenv('CC'):
                compiler.set_executable('compiler_so', os.getenv('CC'))
            with silenced_output('stderr'):
                with silenced_output('stdout'):
                    compiler.compile([f.name], output_dir=output_dir)
        except CompileError:
            return ("PSUTIL_ETHTOOL_MISSING_TYPES", 1)
        else:
            return None
        finally:
            os.remove(f.name)
            shutil.rmtree(output_dir) 
开发者ID:giampaolo,项目名称:psutil,代码行数:27,代码来源:setup.py

示例4: _comiple_unix_hipcc

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def _comiple_unix_hipcc(self,
                            obj, src, ext, cc_args, extra_postargs, pp_opts):
        # For CUDA C source files, compile them with HIPCC.
        _compiler_so = self.compiler_so
        try:
            rcom_path = build.get_hipcc_path()
            base_opts = build.get_compiler_base_options()
            self.set_executable('compiler_so', rcom_path)

            postargs = ['-O2', '-fPIC']
            print('HIPCC options:', postargs)

            return unixccompiler.UnixCCompiler._compile(
                self, obj, src, ext, base_opts + cc_args, postargs, pp_opts)
        finally:
            self.compiler_so = _compiler_so 
开发者ID:cupy,项目名称:cupy,代码行数:18,代码来源:cupy_setup_build.py

示例5: link

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def link(self, target_desc, objects, output_filename, *args):
        use_hipcc = False
        if use_hip:
            for i in objects:
                if 'cupy_thrust.o' in i:
                    use_hipcc = True
        if use_hipcc:
            _compiler_cxx = self.compiler_cxx
            try:
                rcom_path = build.get_hipcc_path()
                self.set_executable('compiler_cxx', rcom_path)

                return unixccompiler.UnixCCompiler.link(
                    self, target_desc, objects, output_filename, *args)
            finally:
                self.compiler_cxx = _compiler_cxx
        else:
            return unixccompiler.UnixCCompiler.link(
                self, target_desc, objects, output_filename, *args) 
开发者ID:cupy,项目名称:cupy,代码行数:21,代码来源:cupy_setup_build.py

示例6: setUp

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def setUp(self):
        self._backup_platform = sys.platform
        self._backup_get_config_var = sysconfig.get_config_var
        class CompilerWrapper(UnixCCompiler):
            def rpath_foo(self):
                return self.runtime_library_dir_option('/foo')
        self.cc = CompilerWrapper() 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:9,代码来源:test_unixccompiler.py

示例7: _compile

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        # For sources other than CUDA C ones, just call the super class method.
        if os.path.splitext(src)[1] != '.cu':
            return unixccompiler.UnixCCompiler._compile(
                self, obj, src, ext, cc_args, extra_postargs, pp_opts)

        if use_hip:
            return self._comiple_unix_hipcc(
                obj, src, ext, cc_args, extra_postargs, pp_opts)

        # For CUDA C source files, compile them with NVCC.
        _compiler_so = self.compiler_so
        try:
            nvcc_path = build.get_nvcc_path()
            base_opts = build.get_compiler_base_options()
            self.set_executable('compiler_so', nvcc_path)

            cuda_version = build.get_cuda_version()
            postargs = _nvcc_gencode_options(cuda_version) + [
                '-O2', '--compiler-options="-fPIC"', '--std=c++11']
            print('NVCC options:', postargs)

            return unixccompiler.UnixCCompiler._compile(
                self, obj, src, ext, base_opts + cc_args, postargs, pp_opts)
        finally:
            self.compiler_so = _compiler_so 
开发者ID:cupy,项目名称:cupy,代码行数:28,代码来源:cupy_setup_build.py

示例8: _compile_cu

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def _compile_cu(self, sources, output_dir=None, macros=None,
                    include_dirs=None, debug=0, extra_preargs=None,
                    extra_postargs=None, depends=None):
        # Compile CUDA C files, mainly derived from UnixCCompiler._compile().

        macros, objects, extra_postargs, pp_opts, _build = \
            self._setup_compile(output_dir, macros, include_dirs, sources,
                                depends, extra_postargs)

        compiler_so = build.get_nvcc_path()
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
        cuda_version = build.get_cuda_version()
        postargs = _nvcc_gencode_options(cuda_version) + ['-O2']
        postargs += ['-Xcompiler', '/MD']
        print('NVCC options:', postargs)

        for obj in objects:
            try:
                src, ext = _build[obj]
            except KeyError:
                continue
            try:
                self.spawn(compiler_so + cc_args + [src, '-o', obj] + postargs)
            except errors.DistutilsExecError as e:
                raise errors.CompileError(str(e))

        return objects 
开发者ID:cupy,项目名称:cupy,代码行数:29,代码来源:cupy_setup_build.py

示例9: setUp

# 需要导入模块: from distutils import unixccompiler [as 别名]
# 或者: from distutils.unixccompiler import UnixCCompiler [as 别名]
def setUp(self):
        self._backup_platform = sys.platform
        self._backup_get_config_var = sysconfig.get_config_var
        self._backup_get_config_vars = sysconfig.get_config_vars
        class CompilerWrapper(UnixCCompiler):
            def rpath_foo(self):
                return self.runtime_library_dir_option('/foo')
        self.cc = CompilerWrapper() 
开发者ID:pypa,项目名称:setuptools,代码行数:10,代码来源:test_unixccompiler.py


注:本文中的distutils.unixccompiler.UnixCCompiler方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。