mirror of
https://github.com/stevenrobertson/cuburn.git
synced 2025-07-06 08:15:09 -04:00
Populate arch by default; add --keep
This commit is contained in:
@ -96,7 +96,7 @@ def assemble_code(*libs):
|
||||
DEFAULT_CMP_OPTIONS = ('-use_fast_math', '-lineinfo')
|
||||
DEFAULT_SAVE_KERNEL = True
|
||||
def compile(name, src, opts=DEFAULT_CMP_OPTIONS, save=DEFAULT_SAVE_KERNEL,
|
||||
arch=None):
|
||||
arch=None, keep=False):
|
||||
"""
|
||||
Compile a module. Returns a copy of the source (for inspection or
|
||||
display) and the compiled cubin.
|
||||
@ -105,7 +105,8 @@ def compile(name, src, opts=DEFAULT_CMP_OPTIONS, save=DEFAULT_SAVE_KERNEL,
|
||||
if save:
|
||||
with open(os.path.join(dir, name + '_kern.cu'), 'w') as fp:
|
||||
fp.write(src)
|
||||
cubin = pycuda.compiler.compile(src, options=list(opts), arch=arch)
|
||||
cubin = pycuda.compiler.compile(src, options=list(opts), arch=arch,
|
||||
keep=keep)
|
||||
if save:
|
||||
with open(os.path.join(dir, name + '_kern.cubin'), 'w') as fp:
|
||||
fp.write(cubin)
|
||||
|
@ -218,9 +218,9 @@ class Renderer(object):
|
||||
_modrefs = {}
|
||||
|
||||
@classmethod
|
||||
def compile(cls, gnm, arch=None):
|
||||
def compile(cls, gnm, arch=None, keep=False):
|
||||
packer, lib = iter.mkiterlib(gnm)
|
||||
cubin = util.compile('iter', assemble_code(lib), arch=arch)
|
||||
cubin = util.compile('iter', assemble_code(lib), arch=arch, keep=keep)
|
||||
return packer, lib, cubin
|
||||
|
||||
def load(self, cubin):
|
||||
@ -232,8 +232,8 @@ class Renderer(object):
|
||||
self._modrefs[cubin] = mod
|
||||
return mod
|
||||
|
||||
def __init__(self, gnm, gprof):
|
||||
self.packer, self.lib, self.cubin = self.compile(gnm)
|
||||
def __init__(self, gnm, gprof, keep=False, arch=None):
|
||||
self.packer, self.lib, self.cubin = self.compile(gnm, keep=keep, arch=arch)
|
||||
self.mod = self.load(self.cubin)
|
||||
self.filts = filters.create(gprof)
|
||||
self.out = output.get_output_for_profile(gprof)
|
||||
|
Reference in New Issue
Block a user