In [9]:
from numba import jit
from numpy import arange
# jit decorator tells Numba to compile this function.
# The argument types will be inferred by Numba when function is called.
@jit
def sum2d(arr):
M, N = arr.shape
result = 0.0
for i in range(M):
for j in range(N):
result += arr[i,j]
return result
a = arange(9).reshape(3,3)
print(sum2d(a))
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-9-8af3e2ffddbe> in <module>()
14
15 a = arange(9).reshape(3,3)
---> 16 print(sum2d(a))
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
155 assert not kws
156 sig = tuple([self.typeof_pyval(a) for a in args])
--> 157 return self.compile(sig)
158
159 def inspect_types(self, file=None):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in compile(self, sig)
275 self.py_func,
276 args=args, return_type=return_type,
--> 277 flags=flags, locals=self.locals)
278
279 # Check typing error if object mode is used
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library)
545 pipeline = Pipeline(typingctx, targetctx, library,
546 args, return_type, flags, locals)
--> 547 return pipeline.compile_extra(func)
548
549
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(self, func)
291 raise e
292
--> 293 return self.compile_bytecode(bc, func_attr=self.func_attr)
294
295 def compile_bytecode(self, bc, lifted=(),
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
299 self.lifted = lifted
300 self.func_attr = func_attr
--> 301 return self._compile_bytecode()
302
303 def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
532
533 pm.finalize()
--> 534 return pm.run(self.status)
535
536
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
189 # No more fallback pipelines?
190 if is_final_pipeline:
--> 191 raise patched_exception
192 # Go to next fallback pipeline
193 else:
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
181 for stage, stage_name in self.pipeline_stages[pipeline_name]:
182 try:
--> 183 res = stage()
184 except _EarlyPipelineCompletion as e:
185 return e.result
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_frontend(self)
365 if self.flags.enable_looplift:
366 assert not self.lifted
--> 367 cres = self.frontend_looplift()
368 if cres is not None:
369 raise _EarlyPipelineCompletion(cres)
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in frontend_looplift(self)
356 outer_flags, self.locals,
357 lifted=tuple(loops),
--> 358 func_attr=self.func_attr)
359 return cres
360
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(typingctx, targetctx, bc, args, return_type, flags, locals, lifted, func_attr, library)
554 pipeline = Pipeline(typingctx, targetctx, library,
555 args, return_type, flags, locals)
--> 556 return pipeline.compile_bytecode(bc=bc, lifted=lifted, func_attr=func_attr)
557
558
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
299 self.lifted = lifted
300 self.func_attr = func_attr
--> 301 return self._compile_bytecode()
302
303 def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
532
533 pm.finalize()
--> 534 return pm.run(self.status)
535
536
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
189 # No more fallback pipelines?
190 if is_final_pipeline:
--> 191 raise patched_exception
192 # Go to next fallback pipeline
193 else:
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
181 for stage, stage_name in self.pipeline_stages[pipeline_name]:
182 try:
--> 183 res = stage()
184 except _EarlyPipelineCompletion as e:
185 return e.result
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_backend(self)
467 """
468 lowerfn = self.backend_object_mode
--> 469 res = self._backend(lowerfn, objectmode=True)
470
471 # Warn if compiled function in object mode and force_pyobject not set
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _backend(self, lowerfn, objectmode)
445 codegen = self.targetctx.jit_codegen()
446 self.library = codegen.create_library(self.bc.func_qualname)
--> 447 lowered = lowerfn()
448 signature = typing.signature(self.return_type, *self.args)
449 cr = compile_result(typing_context=self.typingctx,
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in backend_object_mode(self)
423 self.library,
424 self.interp,
--> 425 self.flags)
426
427 def backend_nopython_mode(self):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in py_lowering_stage(targetctx, library, interp, flags)
703 fndesc = lowering.PythonFunctionDescriptor.from_object_mode_function(interp)
704 lower = objmode.PyLower(targetctx, library, fndesc, interp)
--> 705 lower.lower()
706 if not flags.no_cpython_wrapper:
707 lower.create_cpython_wrapper()
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/lowering.py in lower(self)
236 self.blkmap[offset] = self.function.append_basic_block(bname)
237
--> 238 self.pre_lower()
239 # pre_lower() may have changed the current basic block
240 entry_block_tail = self.builder.basic_block
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/objmode.py in pre_lower(self)
51 self.pyapi.err_set_string(
52 "PyExc_SystemError",
---> 53 "Numba internal error: object mode function called "
54 "without an environment")
55 self.return_exception_raised()
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/pythonapi.py in err_set_string(self, exctype, msg)
119 exctype = self.get_c_object(exctype)
120 if isinstance(msg, str):
--> 121 msg = self.context.insert_const_string(self.module, msg)
122 return self.builder.call(fn, (exctype, msg))
123
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/targets/base.py in insert_const_string(self, mod, string)
248 text = Constant.stringz(string)
249 name = ".const.%s" % string
--> 250 for gv in mod.global_variables:
251 if gv.name == name and gv.type.pointee == text.type:
252 break
AttributeError: Failed at object (object mode frontend)
Failed at object (object mode backend)
'Module' object has no attribute 'global_variables'
In [4]:
@jit
def f(x):
return x**2
In [7]:
f(5)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-7-786fe69aba34> in <module>()
----> 1 f(5)
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
155 assert not kws
156 sig = tuple([self.typeof_pyval(a) for a in args])
--> 157 return self.compile(sig)
158
159 def inspect_types(self, file=None):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in compile(self, sig)
275 self.py_func,
276 args=args, return_type=return_type,
--> 277 flags=flags, locals=self.locals)
278
279 # Check typing error if object mode is used
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library)
545 pipeline = Pipeline(typingctx, targetctx, library,
546 args, return_type, flags, locals)
--> 547 return pipeline.compile_extra(func)
548
549
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(self, func)
291 raise e
292
--> 293 return self.compile_bytecode(bc, func_attr=self.func_attr)
294
295 def compile_bytecode(self, bc, lifted=(),
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
299 self.lifted = lifted
300 self.func_attr = func_attr
--> 301 return self._compile_bytecode()
302
303 def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
532
533 pm.finalize()
--> 534 return pm.run(self.status)
535
536
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
189 # No more fallback pipelines?
190 if is_final_pipeline:
--> 191 raise patched_exception
192 # Go to next fallback pipeline
193 else:
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
181 for stage, stage_name in self.pipeline_stages[pipeline_name]:
182 try:
--> 183 res = stage()
184 except _EarlyPipelineCompletion as e:
185 return e.result
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_backend(self)
467 """
468 lowerfn = self.backend_object_mode
--> 469 res = self._backend(lowerfn, objectmode=True)
470
471 # Warn if compiled function in object mode and force_pyobject not set
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _backend(self, lowerfn, objectmode)
445 codegen = self.targetctx.jit_codegen()
446 self.library = codegen.create_library(self.bc.func_qualname)
--> 447 lowered = lowerfn()
448 signature = typing.signature(self.return_type, *self.args)
449 cr = compile_result(typing_context=self.typingctx,
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in backend_object_mode(self)
423 self.library,
424 self.interp,
--> 425 self.flags)
426
427 def backend_nopython_mode(self):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in py_lowering_stage(targetctx, library, interp, flags)
703 fndesc = lowering.PythonFunctionDescriptor.from_object_mode_function(interp)
704 lower = objmode.PyLower(targetctx, library, fndesc, interp)
--> 705 lower.lower()
706 if not flags.no_cpython_wrapper:
707 lower.create_cpython_wrapper()
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/lowering.py in lower(self)
236 self.blkmap[offset] = self.function.append_basic_block(bname)
237
--> 238 self.pre_lower()
239 # pre_lower() may have changed the current basic block
240 entry_block_tail = self.builder.basic_block
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/objmode.py in pre_lower(self)
51 self.pyapi.err_set_string(
52 "PyExc_SystemError",
---> 53 "Numba internal error: object mode function called "
54 "without an environment")
55 self.return_exception_raised()
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/pythonapi.py in err_set_string(self, exctype, msg)
119 exctype = self.get_c_object(exctype)
120 if isinstance(msg, str):
--> 121 msg = self.context.insert_const_string(self.module, msg)
122 return self.builder.call(fn, (exctype, msg))
123
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/targets/base.py in insert_const_string(self, mod, string)
248 text = Constant.stringz(string)
249 name = ".const.%s" % string
--> 250 for gv in mod.global_variables:
251 if gv.name == name and gv.type.pointee == text.type:
252 break
AttributeError: Failed at object (object mode backend)
'Module' object has no attribute 'global_variables'
In [8]:
f(6)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-45c3982c8254> in <module>()
----> 1 f(6)
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
155 assert not kws
156 sig = tuple([self.typeof_pyval(a) for a in args])
--> 157 return self.compile(sig)
158
159 def inspect_types(self, file=None):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/dispatcher.py in compile(self, sig)
275 self.py_func,
276 args=args, return_type=return_type,
--> 277 flags=flags, locals=self.locals)
278
279 # Check typing error if object mode is used
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library)
545 pipeline = Pipeline(typingctx, targetctx, library,
546 args, return_type, flags, locals)
--> 547 return pipeline.compile_extra(func)
548
549
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_extra(self, func)
291 raise e
292
--> 293 return self.compile_bytecode(bc, func_attr=self.func_attr)
294
295 def compile_bytecode(self, bc, lifted=(),
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in compile_bytecode(self, bc, lifted, func_attr)
299 self.lifted = lifted
300 self.func_attr = func_attr
--> 301 return self._compile_bytecode()
302
303 def compile_internal(self, bc, func_attr=DEFAULT_FUNCTION_ATTRIBUTES):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _compile_bytecode(self)
532
533 pm.finalize()
--> 534 return pm.run(self.status)
535
536
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
189 # No more fallback pipelines?
190 if is_final_pipeline:
--> 191 raise patched_exception
192 # Go to next fallback pipeline
193 else:
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in run(self, status)
181 for stage, stage_name in self.pipeline_stages[pipeline_name]:
182 try:
--> 183 res = stage()
184 except _EarlyPipelineCompletion as e:
185 return e.result
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in stage_objectmode_backend(self)
467 """
468 lowerfn = self.backend_object_mode
--> 469 res = self._backend(lowerfn, objectmode=True)
470
471 # Warn if compiled function in object mode and force_pyobject not set
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in _backend(self, lowerfn, objectmode)
445 codegen = self.targetctx.jit_codegen()
446 self.library = codegen.create_library(self.bc.func_qualname)
--> 447 lowered = lowerfn()
448 signature = typing.signature(self.return_type, *self.args)
449 cr = compile_result(typing_context=self.typingctx,
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in backend_object_mode(self)
423 self.library,
424 self.interp,
--> 425 self.flags)
426
427 def backend_nopython_mode(self):
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/compiler.py in py_lowering_stage(targetctx, library, interp, flags)
703 fndesc = lowering.PythonFunctionDescriptor.from_object_mode_function(interp)
704 lower = objmode.PyLower(targetctx, library, fndesc, interp)
--> 705 lower.lower()
706 if not flags.no_cpython_wrapper:
707 lower.create_cpython_wrapper()
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/lowering.py in lower(self)
236 self.blkmap[offset] = self.function.append_basic_block(bname)
237
--> 238 self.pre_lower()
239 # pre_lower() may have changed the current basic block
240 entry_block_tail = self.builder.basic_block
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/objmode.py in pre_lower(self)
51 self.pyapi.err_set_string(
52 "PyExc_SystemError",
---> 53 "Numba internal error: object mode function called "
54 "without an environment")
55 self.return_exception_raised()
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/pythonapi.py in err_set_string(self, exctype, msg)
119 exctype = self.get_c_object(exctype)
120 if isinstance(msg, str):
--> 121 msg = self.context.insert_const_string(self.module, msg)
122 return self.builder.call(fn, (exctype, msg))
123
/Users/william/Documents/Research/pande_lab/py3env/lib/python3.4/site-packages/numba/targets/base.py in insert_const_string(self, mod, string)
248 text = Constant.stringz(string)
249 name = ".const.%s" % string
--> 250 for gv in mod.global_variables:
251 if gv.name == name and gv.type.pointee == text.type:
252 break
AttributeError: Failed at object (object mode backend)
'Module' object has no attribute 'global_variables'
In [ ]:
Content source: williamgilpin/netsim
Similar notebooks: