Skip to content

Add self-contained FeedSim fbpkg build via buck_genrule (#685)#685

Open
excelle08 wants to merge 1 commit into
facebookresearch:v2-betafrom
excelle08:export-D93702226-to-v2-beta
Open

Add self-contained FeedSim fbpkg build via buck_genrule (#685)#685
excelle08 wants to merge 1 commit into
facebookresearch:v2-betafrom
excelle08:export-D93702226-to-v2-beta

Conversation

@excelle08

@excelle08 excelle08 commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary:

Pre-build FeedSim at fbpkg build time so the package runs without
benchpress install. Both x86_64 and aarch64 use the same two-stage
offline build:

  1. feedsim_deps_download — runs on x86 with network, downloads source
    tarballs and pre-packed conda env from Manifold
  2. feedsim_oss_build[_aarch64] — runs on arch-specific RE host, extracts
    conda env (GCC 15.2, cmake, ninja), builds all deps from source, compiles
    FeedSim with DLRM support

Key changes:

  • build.sh: standalone build script — extracts pre-packed conda env,
    builds Boost/gflags/glog/jemalloc/libevent/folly/fbthrift, compiles FeedSim
  • download_deps.sh: downloads from Manifold (no internet fallback needed)
  • BUCK: three genrules (deps_download, x86 build, aarch64 build) with
    select() in fbpkg path_actions for architecture dispatch
  • CMake: pass-through CMAKE_PREFIX_PATH for staging dir in ExternalProject
  • run.sh/run-feedsim-multi.sh: LD_LIBRARY_PATH for conda runtime libs

Performance (feedsim_autoscale, 3 iterations each):

  • x86 Bergamo: 395.20 QPS self-contained vs 380.92 QPS master (+3.7%)
  • ARM Grace: 324.57 QPS self-contained vs 322.48 QPS master (+0.6%)

Reviewed By: gandhijayneel

Differential Revision: D93702226

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 11, 2026
@meta-codesync

meta-codesync Bot commented Jun 11, 2026

Copy link
Copy Markdown

@excelle08 has exported this pull request. If you are a Meta employee, you can view the originating Diff in D93702226.

…arch#685)

Summary:

Pre-build FeedSim at fbpkg build time so the package runs without
`benchpress install`. Both x86_64 and aarch64 use the same two-stage
offline build:

1. `feedsim_deps_download` — runs on x86 with network, downloads source
   tarballs and pre-packed conda env from Manifold
2. `feedsim_oss_build[_aarch64]` — runs on arch-specific RE host, extracts
   conda env (GCC 15.2, cmake, ninja), builds all deps from source, compiles
   FeedSim with DLRM support

Key changes:
- `build.sh`: standalone build script — extracts pre-packed conda env,
  builds Boost/gflags/glog/jemalloc/libevent/folly/fbthrift, compiles FeedSim
- `download_deps.sh`: downloads from Manifold (no internet fallback needed)
- BUCK: three genrules (deps_download, x86 build, aarch64 build) with
  `select()` in fbpkg path_actions for architecture dispatch
- CMake: pass-through CMAKE_PREFIX_PATH for staging dir in ExternalProject
- `run.sh`/`run-feedsim-multi.sh`: LD_LIBRARY_PATH for conda runtime libs

Performance (feedsim_autoscale, 3 iterations each):
- x86 Bergamo: 395.20 QPS self-contained vs 380.92 QPS master (+3.7%)
- ARM Grace:   324.57 QPS self-contained vs 322.48 QPS master (+0.6%)

Reviewed By: gandhijayneel

Differential Revision: D93702226
@meta-codesync meta-codesync Bot changed the title Add self-contained FeedSim fbpkg build via buck_genrule Add self-contained FeedSim fbpkg build via buck_genrule (#685) Jun 25, 2026
@excelle08 excelle08 force-pushed the export-D93702226-to-v2-beta branch from fdb6b63 to 983faaa Compare June 25, 2026 22:45
excelle08 added a commit to excelle08/DCPerf-1 that referenced this pull request Jun 25, 2026
…arch#685)

Summary:

Pre-build FeedSim at fbpkg build time so the package runs without
`benchpress install`. Both x86_64 and aarch64 use the same two-stage
offline build:

1. `feedsim_deps_download` — runs on x86 with network, downloads source
   tarballs and pre-packed conda env from Manifold
2. `feedsim_oss_build[_aarch64]` — runs on arch-specific RE host, extracts
   conda env (GCC 15.2, cmake, ninja), builds all deps from source, compiles
   FeedSim with DLRM support

Key changes:
- `build.sh`: standalone build script — extracts pre-packed conda env,
  builds Boost/gflags/glog/jemalloc/libevent/folly/fbthrift, compiles FeedSim
- `download_deps.sh`: downloads from Manifold (no internet fallback needed)
- BUCK: three genrules (deps_download, x86 build, aarch64 build) with
  `select()` in fbpkg path_actions for architecture dispatch
- CMake: pass-through CMAKE_PREFIX_PATH for staging dir in ExternalProject
- `run.sh`/`run-feedsim-multi.sh`: LD_LIBRARY_PATH for conda runtime libs

Performance (feedsim_autoscale, 3 iterations each):
- x86 Bergamo: 395.20 QPS self-contained vs 380.92 QPS master (+3.7%)
- ARM Grace:   324.57 QPS self-contained vs 322.48 QPS master (+0.6%)

Reviewed By: gandhijayneel

Differential Revision: D93702226
meta-codesync Bot pushed a commit that referenced this pull request Jun 25, 2026
Summary:
Pull Request resolved: #685

Pre-build FeedSim at fbpkg build time so the package runs without
`benchpress install`. Both x86_64 and aarch64 use the same two-stage
offline build:

1. `feedsim_deps_download` — runs on x86 with network, downloads source
   tarballs and pre-packed conda env from Manifold
2. `feedsim_oss_build[_aarch64]` — runs on arch-specific RE host, extracts
   conda env (GCC 15.2, cmake, ninja), builds all deps from source, compiles
   FeedSim with DLRM support

Key changes:
- `build.sh`: standalone build script — extracts pre-packed conda env,
  builds Boost/gflags/glog/jemalloc/libevent/folly/fbthrift, compiles FeedSim
- `download_deps.sh`: downloads from Manifold (no internet fallback needed)
- BUCK: three genrules (deps_download, x86 build, aarch64 build) with
  `select()` in fbpkg path_actions for architecture dispatch
- CMake: pass-through CMAKE_PREFIX_PATH for staging dir in ExternalProject
- `run.sh`/`run-feedsim-multi.sh`: LD_LIBRARY_PATH for conda runtime libs

Performance (feedsim_autoscale, 3 iterations each):
- x86 Bergamo: 395.20 QPS self-contained vs 380.92 QPS master (+3.7%)
- ARM Grace:   324.57 QPS self-contained vs 322.48 QPS master (+0.6%)

Reviewed By: gandhijayneel

Differential Revision: D93702226

fbshipit-source-id: 0fee00eb5af8c0f771905d2870f75cf3b75b3720
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant