Exemplo n.º 1
0
 def compile(self, options=(), log_stream=None):
     try:
         if self.name_expressions:
             for ker in self.name_expressions:
                 nvrtc.addAddNameExpression(self.ptr, ker)
         nvrtc.compileProgram(self.ptr, options)
         mapping = None
         if self.name_expressions:
             mapping = {}
             for ker in self.name_expressions:
                 mapping[ker] = nvrtc.getLoweredName(self.ptr, ker)
         if log_stream is not None:
             log_stream.write(nvrtc.getProgramLog(self.ptr))
         return nvrtc.getPTX(self.ptr), mapping
     except nvrtc.NVRTCError:
         log = nvrtc.getProgramLog(self.ptr)
         raise CompileException(log, self.src, self.name, options, 'nvrtc')
Exemplo n.º 2
0
 def compile(self, options=(), log_stream=None):
     try:
         if self.name_expressions:
             for ker in self.name_expressions:
                 nvrtc.addAddNameExpression(self.ptr, ker)
         nvrtc.compileProgram(self.ptr, options)
         mapping = None
         if self.name_expressions:
             mapping = {}
             for ker in self.name_expressions:
                 mapping[ker] = nvrtc.getLoweredName(self.ptr, ker)
         if log_stream is not None:
             log_stream.write(nvrtc.getProgramLog(self.ptr))
         # TODO(leofang): use getCUBIN() for _cuda_version >= 11010?
         return nvrtc.getPTX(self.ptr), mapping
     except nvrtc.NVRTCError:
         log = nvrtc.getProgramLog(self.ptr)
         raise CompileException(log, self.src, self.name, options,
                                'nvrtc' if not runtime.is_hip else 'hiprtc')