• Ricardo Vieira's avatar
    Do not recreate Scalar Ops with custom TransferType for Elemwise inplacing · ae499a49
    Ricardo Vieira 提交于
    This helper could arbitrarily override the default output_type from `ScalarOp.make_node` so that the output type matched one of the input types.
    This can be used to create artificial Op signatures that don't make sense or can't be cleanly implemented in other backends. For instance an Add with signature (int8,int64)->int8.
    
    This helper was historically used in:
     1. Elemwise inplace rewrite. I assume as a preventive measure. However, regular use should never require changing the ScalarOp signature, as we only try to inplace on inputs that match the output dtype and recreating the same Op with the same input types should always return the same output type. ScalarOp don't have a concept of inplace, only the Elemwise wrapper does, and it shouldn't require recreating/mutating the original Op.
     2. SecondOp. Here it makes sense, but a custom static_method works just as well
     3. Inplace tests with the inplace variants of `@scalar_elemwise` decorator. These test Classes were removed. It still didn't make sense to test/force Ops to have an artifical signature for the sake of tests. They were removed anyway
    ae499a49
名称
最后提交
最后更新
.github 正在载入提交数据...
doc 正在载入提交数据...
pytensor 正在载入提交数据...
scripts 正在载入提交数据...
tests 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.pre-commit-config.yaml 正在载入提交数据...
.readthedocs.yaml 正在载入提交数据...
CODE_OF_CONDUCT.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
GOVERNANCE.md 正在载入提交数据...
LICENSE.txt 正在载入提交数据...
MANIFEST.in 正在载入提交数据...
README.rst 正在载入提交数据...
codecov.yml 正在载入提交数据...
conftest.py 正在载入提交数据...
environment-osx-arm64.yml 正在载入提交数据...
environment.yml 正在载入提交数据...
pyproject.toml 正在载入提交数据...
setup.py 正在载入提交数据...