diff options
author | Stan Seibert <stan@mtrr.org> | 2011-08-09 21:32:19 -0400 |
---|---|---|
committer | Stan Seibert <stan@mtrr.org> | 2011-08-09 21:32:19 -0400 |
commit | 14eb2b598fc5c2f70f3f4692dc58f0206b07d728 (patch) | |
tree | 7c55138cabed58477d678d03b61d624b6e9ad7c4 | |
parent | d6f134b477968b8a375612351098735c5f6d53eb (diff) | |
download | chroma-14eb2b598fc5c2f70f3f4692dc58f0206b07d728.tar.gz chroma-14eb2b598fc5c2f70f3f4692dc58f0206b07d728.tar.bz2 chroma-14eb2b598fc5c2f70f3f4692dc58f0206b07d728.zip |
Automatically detect kernprof and profile main() in sim.py. Also synchronize CUDA calls.
-rw-r--r-- | gpu.py | 6 | ||||
-rwxr-xr-x | sim.py | 8 |
2 files changed, 11 insertions, 3 deletions
@@ -259,7 +259,8 @@ class GPU(object): block=(self.nthread_per_block,1,1), grid=(blocks, 1)) - #self.context.synchronize() + if 'profile' in __builtins__: + self.context.synchronize() def get_photons(self): '''Returns a dictionary of current photon state information. @@ -311,7 +312,8 @@ class GPU(object): self.earliest_time_gpu, block=(self.nthread_per_block,1,1), grid=(len(self.earliest_time_int_gpu)//self.nthread_per_block+1,1)) - #self.context.synchronize() + if 'profile' in __builtins__: + self.context.synchronize() def get_hits(self): @@ -75,7 +75,13 @@ def write_event(T, ev, event_id, hits, photon_start=None, photon_stop=None): root.fill_hits(ev, len(hits['t']), hits['t'], hits['q'], hits['history']) T.Fill() -#@profile +# Allow profile decorator to exist, but do nothing if not running under kernprof +try: + profile = profile +except NameError: + profile = lambda x: x + +@profile def main(): parser = optparse.OptionParser('%prog') parser.add_option('-b', type='int', dest='nbits', default=10) |