Skip to content

Conversation

@hvarfner
Copy link
Contributor

@hvarfner hvarfner commented Jul 2, 2025

Summary:
Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Differential Revision: D76317553

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Jul 2, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

@codecov
Copy link

codecov bot commented Jul 2, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (41d0645) to head (64970aa).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main     #2908   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          212       212           
  Lines        19822     19844   +22     
=========================================
+ Hits         19822     19844   +22     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 3, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:

Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@hvarfner hvarfner force-pushed the export-D76317553 branch from e644dee to 4894a16 Compare July 3, 2025 13:15
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 3, 2025
… & IndexKernel

Summary:
X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 3, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 3, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@hvarfner hvarfner force-pushed the export-D76317553 branch from 4894a16 to 4b704d0 Compare July 3, 2025 15:36
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 3, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@hvarfner hvarfner force-pushed the export-D76317553 branch from 4b704d0 to 2cb5691 Compare July 3, 2025 17:19
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 3, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 15, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 15, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 15, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 15, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modifed MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and a seemingly even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 15, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 15, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 16, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 16, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 16, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23

Pull Request resolved: meta-pytorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 16, 2025
… & IndexKernel (facebook#3992)

Summary:
Pull Request resolved: facebook#3992

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 16, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 16, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 16, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23

Pull Request resolved: meta-pytorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 16, 2025
… & IndexKernel (facebook#3992)

Summary:
Pull Request resolved: facebook#3992

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 17, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/botorch that referenced this pull request Jul 18, 2025
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 18, 2025
… & IndexKernel (facebook#3992)

Summary:

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
hvarfner pushed a commit to hvarfner/Ax that referenced this pull request Jul 18, 2025
… & IndexKernel (facebook#3992)

Summary:
Pull Request resolved: facebook#3992

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
… & IndexKernel (meta-pytorch#2908)

Summary:
X-link: facebook/Ax#3992

X-link: facebookexternal/botorch_fb#23


Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76317553

facebook-github-bot pushed a commit to facebook/Ax that referenced this pull request Jul 18, 2025
… & IndexKernel (#3992)

Summary:
Pull Request resolved: #3992

X-link: facebookexternal/botorch_fb#23

X-link: meta-pytorch/botorch#2908

Modified MultiTask and FullyBayesianMultiTask to use IndexKernel instead of two different covar modules. For large matrices, this constitutes a significant speed-up (2-3x anecdotally) and an even larger memory decrease.

In addition, this makes MultiTaskFBGP and SingleTaskFBGPs share a lot of code. I'll enable more code sharing between them in a subsequent diff.

With some additional functionality in IndexKernel (i.e. structured learning of the covar_matrix elements), this change would apply to other MTGPs as well.

NOTE: Providing negative indices to an IndexKernel is not supported: pytorch/pytorch#76347

Reviewed By: saitcakmak

Differential Revision: D76317553

fbshipit-source-id: 4ad0a687c7cabd605048b32becbdf295b10f394a
@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 4871a22.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed Do not delete this pull request or issue due to inactivity. fb-exported Merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants