# The Op for true\_div, real, sqrt and others does not have a C implementation

**URL:** <https://discourse.pymc.io/t/the-op-for-true-div-real-sqrt-and-others-does-not-have-a-c-implementation/11542>\
**Category:** Questions\
**Created:** [March 6, 2023, 6:42pm UTC](https://discourse.pymc.io/t/the-op-for-true-div-real-sqrt-and-others-does-not-have-a-c-implementation/11542 "2023-03-06T18:42:33Z")\
**Posts on this page:** 3\
**Page:** 2

<div class="post-metadata">

**Author:** ![verderis](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/verderis/32/485_2.png) [@verderis](https://discourse.pymc.io/u/verderis)\
**Post date:** [March 16, 2023, 6:34pm UTC](https://discourse.pymc.io/t/the-op-for-true-div-real-sqrt-and-others-does-not-have-a-c-implementation/11542/21 "2023-03-16T18:34:43Z")

</div>

Thank you again. I did as you suggested and have this new error:

```auto

/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/tensor/rewriting/elemwise.py:680: UserWarning: Optimization Warning: The Op real does not provide a C implementation. As well as being potentially slow, this also disables loop fusion.                             
  warn(                                                                                                                                        
/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/tensor/rewriting/elemwise.py:680: UserWarning: Optimization Warning: The Op real does not provide a C implementation. As well as being potentially slow, this also disables loop fusion.
  warn(
/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/tensor/rewriting/elemwise.py:680: UserWarning: Optimization Warning: The Op real does not provide a C implementation. As well as being potentially slow, this also disables loop fusion.
  warn(
ERROR (pytensor.graph.rewriting.basic): Rewrite failure due to: constant_folding
ERROR (pytensor.graph.rewriting.basic): node: InplaceDimShuffle{}(TensorConstant{(1, 1) of ..4045494163})
ERROR (pytensor.graph.rewriting.basic): TRACEBACK:
ERROR (pytensor.graph.rewriting.basic): Traceback (most recent call last):
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/graph/rewriting/basic.py", line 1918, in process_node
    replacements = node_rewriter.transform(fgraph, node)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/graph/rewriting/basic.py", line 1078, in transform
    return self.fn(fgraph, node)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/tensor/rewriting/basic.py", line 1138, in constant_folding
    thunk = node.op.make_thunk(node, storage_map, compute_map, no_recycling=[])
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/link/c/op.py", line 131, in make_thunk
    return self.make_c_thunk(node, storage_map, compute_map, no_recycling)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/link/c/op.py", line 96, in make_c_thunk
    outputs = cl.make_thunk(
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/link/c/basic.py", line 1200, in make_thunk
    cthunk, module, in_storage, out_storage, error_storage = self. __compile__ (
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/link/c/basic.py", line 1120, in __compile__
    thunk, module = self.cthunk_factory(
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/link/c/basic.py", line 1644, in cthunk_factory
    module = cache.module_from_key(key=key, lnk=self)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/link/c/cmodule.py", line 1206, in module_from_key
    module = self._get_from_hash(module_hash, key)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/link/c/cmodule.py", line 1109, in _get_from_hash
    with lock_ctx():
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/contextlib.py", line 135, in __enter__
    return next(self.gen)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/compile/compilelock.py", line 74, in lock_ctx
    fl.acquire(timeout=timeout)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/filelock/_api.py", line 195, in acquire
    raise Timeout(self._lock_file)
filelock._error.Timeout: The file lock '/home/tele/.pytensor/compiledir_Linux-5.19--generic-x86_64-with-glibc2.35-x86_64-3.10.9-64/.lock' could not be acquired.

/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/site-packages/pytensor/tensor/rewriting/elemwise.py:680: UserWarning: Optimization Warning: The Op real does not provide a C implementation. As well as being potentially slow, this also disables loop fusion.
  warn(
Exception in thread Thread-3 (_handle_results):
Traceback (most recent call last):
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/multiprocessing/pool.py", line 579, in _handle_results
    task = get()
  File "/home/tele/miniconda3/envs/PyMC5_2/lib/python3.10/multiprocessing/connection.py", line 251, in recv
    return _ForkingPickler.loads(buf.getbuffer())
TypeError: Timeout. __init__ () missing 1 required positional argument: 'lock_file'

```

---

<div class="post-metadata">

**Author:** ![ricardoV94](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/ricardov94/32/5775_2.png) [@ricardoV94](https://discourse.pymc.io/u/ricardoV94)\
**Post date:** [March 16, 2023, 6:47pm UTC](https://discourse.pymc.io/t/the-op-for-true-div-real-sqrt-and-others-does-not-have-a-c-implementation/11542/22 "2023-03-16T18:47:43Z")

</div>

Do you also see that if you set `cores=1` in `sample`?

---

<div class="post-metadata">

**Author:** ![verderis](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.pymc.io/verderis/32/485_2.png) [@verderis](https://discourse.pymc.io/u/verderis)\
**Post date:** [March 16, 2023, 7:17pm UTC](https://discourse.pymc.io/t/the-op-for-true-div-real-sqrt-and-others-does-not-have-a-c-implementation/11542/23 "2023-03-16T19:17:09Z")

</div>

With `cores=1` it runs without problem, just the usual “real” warning. What do you think is going on?

[Previous page](https://discourse.pymc.io/t/the-op-for-true-div-real-sqrt-and-others-does-not-have-a-c-implementation/11542.md?page=1)
