Brandon T. Willard

Results 484 comments of Brandon T. Willard

OK, I've added separate issue templates for bugs, generic feature requests, JAX/Numba `Op` implementations, and NumPy/SciPy compatibility. This should cover most bases, and we can add new templates later, if...

For anyone interested in implementing this, we first need to consider whether or not distinct `Op`s are required and, if they are, whether or not those new `Op`s should be...

The performance difference is probably due to the use of `prange` in the custom `Op`. If we increase the size of `test_data`, I'm guessing we'll see the custom `Op` start...

Well, this provides strong motivation for #409 (e.g. setting `parallel=True` in our invocations of `numba.njit`)! There might also be a few places where `fastmath=True` can be set. Aside from that,...

For anyone interested in running @fanshi118's comparison, here's a [Gist](https://gist.github.com/brandonwillard/29666a1864d1b9572c41da59d830f4e1) that reproduces the results. Use `timeit_data.to_markdown()` to produce a Markdown table that can be embedded in an issue. Here's what...

Also, for those who want to investigate the Numba-compiled function itself, here's how it can be obtained: ```python import inspect fn, *_ = aesara_numba_fn.maker.linker.make_all() cl_vars = inspect.getclosurevars(fn) thunk = cl_vars.nonlocals['thunks'][0]...

> @brandonwillard Do you think inlining will get the numbers closer? I've already inlined most of the unnecessary function calls created by the backend (at least since #476). Given the...

There appears to be some latency introduced by Aesara's `Function` interface. For example, here's a simple Numba-only implementation of `at.switch(at.isinf(x), 0, x)` (i.e. one of the subgraphs in the log-sum-exp...

It's worth noting that we really shouldn't focus on the `fast_math` and/or `parallel` options; those are simple things to add, and they don't address the persistent underlying sources of latency...

Here are the results of the log-sum-exp comparison after #498 (`parallel` and `fastmath` are off in all cases): | data shape | Numba | Aesara-C | Aesara-Numba | Aesara-Numba (direct)...