Skip to content

[Inference] The Default Threshold for Cholesky Decomposition #116

@kayween

Description

@kayween

The default threshold for Cholesky decomposition (as opposed to CG) is 800, which seems to be very small.

class max_cholesky_size(_value_context):
"""
If the size of of a LinearOperator is less than `max_cholesky_size`,
then `root_decomposition` and `solve` of LinearOperator will use Cholesky rather than Lanczos/CG.
(Default: 800)
"""
_global_value = 800

I was a bit surprised that an exact GP trained on 1000 data points was using CG for inference. Because I somehow vaguely remember this threshold was increased to 6000 a long time ago. (I tried to find relevant issues/PRs for reference but I couldn't. So maybe it's my hallucination.)

In any case, this threshold was set 6 years ago. Hardware are much better nowadays. Any thoughts on increasing this threshold? Probably need to benchmark inference speed again.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions