You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current interface to BLAS and LAPACK routines should be made more flexible, in the sense that different levels of granularity should be accessible though the same method without adding unnecessary complexity to simple calls. Below is a draft signature for gemm suggested by @giaf:
nargs=len(args)
# extract keyword arguments
...
# check expression in views (if any) using https://github.com/zanellia/prometeo/blob/f45a6347ea524164cc812fad80c9db1f4f94e17f/prometeo/cgen/code_gen_c.py#L244# extract and unparse views of matrix arguments (if any)first_index=astu.unparse(node.targets[0].slice.value.elts[0]).strip('\n')
second_index=astu.unparse(node.targets[0].slice.value.elts[1]).strip('\n')
# check for transposition (look if arg has an attribute an if it is 'T')# pass this info to a generic `process_arg()` method
The text was updated successfully, but these errors were encountered:
The current interface to BLAS and LAPACK routines should be made more flexible, in the sense that different levels of granularity should be accessible though the same method without adding unnecessary complexity to simple calls. Below is a draft signature for
gemm
suggested by @giaf:gemm(A[1:2,1:2], B.T, C[3:4,1:2], D=None, alpha=1.0, beta=1.0)
,where
A
,B
,C
andD
can also be transposed through e.g.A.T
and views are possible too, for example:gemm(A[1:2,1:2], B.T, C[3:4,1:2], D, beta=2.0)
.This is easily implementable in Python, but will require some work in prometeo's parser. In particular in the argument inspection here
prometeo/prometeo/cgen/code_gen_c.py
Line 1826 in f45a634
we'd need to do something like this:
The text was updated successfully, but these errors were encountered: