Skip to content

Add self-contained tao_bench fbpkg build via buck_genrule (#701)#701

Open
ahmadelyoussef wants to merge 3 commits into
facebookresearch:v2-betafrom
ahmadelyoussef:export-D110112328-to-v2-beta
Open

Add self-contained tao_bench fbpkg build via buck_genrule (#701)#701
ahmadelyoussef wants to merge 3 commits into
facebookresearch:v2-betafrom
ahmadelyoussef:export-D110112328-to-v2-beta

Conversation

@ahmadelyoussef

@ahmadelyoussef ahmadelyoussef commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary:

Add self-contained TaoBench fbpkg build via buck_genrule to enable pre-built
TaoBench binaries (tao_bench_server + tao_bench_client) in the
cea.chips.benchpress.oss_prebuild fbpkg. TaoBench will now be pre-built at
fbpkg build time for both x86_64 and aarch64 architectures, eliminating the
need to run benchpress install on target machines.

Uses cmake directly (not getdeps.py) to build folly and all dependencies with
static linking + LTO for better performance and zero runtime library dependencies.

Key changes:

  • fb_scripts/builder/tao_bench/: build.sh, download_deps.sh,
    upload_deps_to_manifold.sh, create_prepatched_memcached.sh,
    create_prepatched_memtier.sh, upload_memtier_to_manifold.sh
  • BUCK: tao_bench genrules (deps_download, x86 build, arm64 build) +
    fbpkg path_actions for both architectures
  • Pre-patched tarballs for memcached (7 patches) and memtier (1 patch)
    uploaded to Manifold, so RE builds don't need patch or autoreconf

Differential Revision: D110112328

@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 29, 2026
@meta-codesync

meta-codesync Bot commented Jun 29, 2026

Copy link
Copy Markdown

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

@meta-codesync meta-codesync Bot changed the title Add self-contained tao_bench fbpkg build via buck_genrule Add self-contained tao_bench fbpkg build via buck_genrule (#701) Jun 29, 2026
ahmadelyoussef added a commit to ahmadelyoussef/DCPerf that referenced this pull request Jun 29, 2026
…search#701)

Summary:

Add self-contained TaoBench fbpkg build via buck_genrule to enable pre-built
TaoBench binaries (tao_bench_server + tao_bench_client) in the
cea.chips.benchpress.oss_prebuild fbpkg. TaoBench will now be pre-built at
fbpkg build time for both x86_64 and aarch64 architectures, eliminating the
need to run `benchpress install` on target machines.

Uses cmake directly (not getdeps.py) to build folly and all dependencies with
static linking + LTO for better performance and zero runtime library dependencies.

Key changes:
- `fb_scripts/builder/tao_bench/`: build.sh, download_deps.sh,
  upload_deps_to_manifold.sh, create_prepatched_memcached.sh,
  create_prepatched_memtier.sh, upload_memtier_to_manifold.sh
- BUCK: tao_bench genrules (deps_download, x86 build, arm64 build) +
  fbpkg path_actions for both architectures
- Pre-patched tarballs for memcached (7 patches) and memtier (1 patch)
  uploaded to Manifold, so RE builds don't need `patch` or `autoreconf`

Differential Revision: D110112328
@ahmadelyoussef ahmadelyoussef force-pushed the export-D110112328-to-v2-beta branch from f9bdcb5 to 875d763 Compare June 29, 2026 23:33
…kresearch#697)

Summary:

Add self-contained HealthCheck fbpkg build via buck_genrule to enable pre-built HealthCheck binaries in the cea.chips.benchpress.oss_prebuild fbpkg. The HealthCheck benchmark will now be pre-built at fbpkg build time for both x86_64 and aarch64 architectures, eliminating the need to run benchpress install on target machines.

Reviewed By: excelle08

Differential Revision: D108812377
…acebookresearch#698)

Summary:

Pre-build syscall and schbench at fbpkg build time so the package runs
without `benchpress install`.

**Syscall**: custom genrule build (same two-stage pattern as feedsim/health_check).
Downloads gflags from Manifold, compiles syscall.cpp with static gflags linkage.

**Schbench**: uses existing `//third-party/schbench:schbench` cpp_binary target
directly via fbpkg.copy(). No custom build scripts or Manifold deps needed since
the source is already in fbsource.

Key changes:
- `fb_scripts/builder/syscall/`: build.sh, download_deps.sh,
  upload_deps_to_manifold.sh for syscall genrule build
- BUCK: syscall genrules (deps_download, x86 build, arm64 build) +
  schbench via fbpkg.copy from //third-party/schbench:schbench
- `benchmarks_system.yml`: added install_markers for prebuild detection

Reviewed By: excelle08

Differential Revision: D108812394
…search#701)

Summary:

Add self-contained TaoBench fbpkg build via buck_genrule to enable pre-built
TaoBench binaries (tao_bench_server + tao_bench_client) in the
cea.chips.benchpress.oss_prebuild fbpkg. TaoBench will now be pre-built at
fbpkg build time for both x86_64 and aarch64 architectures, eliminating the
need to run `benchpress install` on target machines.

Uses cmake directly (not getdeps.py) to build folly and all dependencies with
static linking + LTO for better performance and zero runtime library dependencies.

Key changes:
- `fb_scripts/builder/tao_bench/`: build.sh, download_deps.sh,
  upload_deps_to_manifold.sh, create_prepatched_memcached.sh,
  create_prepatched_memtier.sh, upload_memtier_to_manifold.sh
- BUCK: tao_bench genrules (deps_download, x86 build, arm64 build) +
  fbpkg path_actions for both architectures
- Pre-patched tarballs for memcached (7 patches) and memtier (1 patch)
  uploaded to Manifold, so RE builds don't need `patch` or `autoreconf`

Differential Revision: D110112328
@ahmadelyoussef ahmadelyoussef force-pushed the export-D110112328-to-v2-beta branch from 875d763 to b98141e Compare June 30, 2026 00:04
meta-codesync Bot pushed a commit that referenced this pull request Jul 2, 2026
Summary:
Pull Request resolved: #701

Add self-contained TaoBench fbpkg build via buck_genrule to enable pre-built
TaoBench binaries (tao_bench_server + tao_bench_client) in the
cea.chips.benchpress.oss_prebuild fbpkg. TaoBench will now be pre-built at
fbpkg build time for both x86_64 and aarch64 architectures, eliminating the
need to run `benchpress install` on target machines.

Uses cmake directly (not getdeps.py) to build folly and all dependencies with
static linking + LTO for better performance and zero runtime library dependencies.

Key changes:
- `fb_scripts/builder/tao_bench/`: build.sh, download_deps.sh,
  upload_deps_to_manifold.sh, create_prepatched_memcached.sh,
  create_prepatched_memtier.sh, upload_memtier_to_manifold.sh
- BUCK: tao_bench genrules (deps_download, x86 build, arm64 build) +
  fbpkg path_actions for both architectures
- Pre-patched tarballs for memcached (7 patches) and memtier (1 patch)
  uploaded to Manifold, so RE builds don't need `patch` or `autoreconf`

Reviewed By: excelle08

Differential Revision: D110112328

fbshipit-source-id: 828fb2a33c57f4bd5893c812ed4a112672807151
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