def compile(self, options=[]):
        """
        Compiles the program object to PTX using the compiler options
        specified in `options`.
        """
        try:
            self._interface.nvrtcCompileProgram(self._program, options)
            ptx = self._interface.nvrtcGetPTX(self._program)
            return ptx
        except NVRTCException as e:
            log = self._interface.nvrtcGetProgramLog(self._program)
            raise ProgramException(log)