David Testé
f3a1b6b5b9
chore(ci): run aws workflows as ubuntu user
2024-10-18 14:05:36 +02:00
David Testé
1a5dfb3699
chore(ci): rename benchmark parsing option to object-sizes
...
Since not only key sizes are measured now, it makes more sense to
rename it to --object-sizes.
2024-10-16 16:28:11 +02:00
David Testé
483a4fecf1
chore(ci): fix firefox wasm benchmarks with new aws ami
...
Some libs were missing to be able to run Firefox out of the box.
Besides, action runner is now installed as ubuntu user since
Firefox is not able to run as root.
2024-10-16 10:50:27 +02:00
David Testé
ff0609fba3
chore(ci): force refresh page on firefox browser
...
A simple driver.refresh() wouldn't refresh script cache for web
workers. Thus leading to page not fully charged and having all
test and benchmarks buttons in disabled state.
That triggering timeout while browsing with Selenium.
Console log print has also been curated for Chrome browser.
2024-10-14 17:58:21 +02:00
David Testé
41b3edf48b
chore(ci): pass --no-sandbox option only to chrome browser
2024-10-14 17:58:21 +02:00
Agnes Leroy
e698d18242
chore(gpu): automatically generate rust bindings for cuda functions, except device.cu
2024-10-14 17:07:57 +02:00
David Testé
43e697ce51
chore(ci): fix browser identification on wasm benchmarks
...
Rust script wasn't able to parse results if the browser name was
suffixed after parameters name.
2024-10-09 15:26:42 +02:00
David Testé
cd36ac5092
chore(ci): add firefox support for wasm tests and benchmarks
2024-10-09 08:44:16 +02:00
David Testé
de7c7f209f
chore(ci): include snippets folder into tfhe npm package
2024-09-26 15:40:31 +02:00
Agnes Leroy
b365585c74
chore(gpu): add 2xH100 bench workflow
2024-09-26 12:42:05 +02:00
Agnes Leroy
2bf483c596
chore(gpu): add bench workflow on L40
2024-09-25 09:13:22 +02:00
Arthur Meyre
43d91f512f
chore(ci): use python as webdriver for wasm test and benchmarks
...
Swtich from Jest and Puppeteer to Python with Selenium. It relies
on browser and webdriver binaries from browser fabricators.
For now the Python script only supports Chrome browser.
2024-09-25 09:11:13 +02:00
David Testé
3ab7f49436
chore(ci): remove support for slab calls with issue comments
...
Now all workflows use Slab GitHub Action and thus can be launched
directly with a workflow_dispatch event.
2024-09-18 13:42:17 +02:00
Agnes Leroy
8299e1cb9a
chore(gpu): change multi-gpu tests to run on rtx so it's cheaper
2024-09-16 09:04:56 +02:00
Arthur Meyre
92be95c6b8
chore(ci): fix parsing for integer benchmarks
2024-08-14 13:42:14 +02:00
Agnes Leroy
5340859003
chore(ci): transfer all GPU CI to hyperstack
2024-08-07 17:08:13 +02:00
Agnes Leroy
eba4f6a89c
chore(gpu): use PCIe H100 for multi-gpu bench
2024-07-31 08:50:07 +02:00
Agnes Leroy
d9eca01631
fix(gpu): dispatch/gather inputs and outputs to the ks and pbs on all GPUs
2024-07-23 08:48:48 +02:00
David Testé
a34ddd7b54
chore(ci): split cuda-pcc and cuda-tests jobs to parallelize execution
2024-06-28 10:30:17 +02:00
David Testé
2ff3b75ef7
chore(ci): update gpu ec2 ami with rustup snap package removed
...
Rustup was installed using snap and could clash in the workflow
notably on cargo-clippy calls.
2024-06-20 14:42:02 +02:00
Ben
915eafac15
chore(ci): fix non-float print
2024-06-20 08:35:37 +02:00
David Testé
1c760a31e2
chore(ci): change threat model in lattice estimator
...
Set the hard threshold to 128 bits of security and add a soft
threshold of 132 bits. This new threshold matches the security
level advertised for current cryptographic parameters in shortint.
2024-06-20 08:35:37 +02:00
David Testé
c60cb88367
chore(ci): add workflow for pke-zk benchmarks
2024-06-19 10:51:03 +02:00
Agnes Leroy
d3a6b4a7d8
chore(gpu): add p3.8xlarge hourly cost
2024-06-13 13:01:59 +02:00
Agnes Leroy
b8991229ec
feat(gpu): make PBS and ks execution parallel over available GPUs
...
Only GPUs with peer access to GPU 0 can be used for this at the moment.
Peer to peer copy is used if different GPUs are passed to memcpy_gpu_to_gpu
A gpu offset is passed as new parameter to pbs and keyswitch to adjust the input/output index user per gpu.
bsk and ksk are copied to all GPUs.
The CI now tests & runs benchmarks on p3.8xlarge aws instances
2024-06-10 15:05:42 +02:00
David Testé
31685387ea
chore(ci): remove unused slab commands
...
All the deleted commands have now their workflow using slab action
to spawn/teardown instances.
2024-06-04 09:38:56 +02:00
David Testé
1b9c61c2d1
chore(ci): run gpu benchmarks on hyperstack platform
2024-05-14 09:24:17 +02:00
David Testé
e09ea6c484
chore(ci): update usage of slab-github-runner to last version
2024-05-10 14:14:31 +02:00
Arthur Meyre
2cc20a6bd5
chore(ci): fix sage script f-string missing f
2024-04-15 18:55:06 +02:00
David Testé
edca34c2c9
chore(ci): run aws gpu benchmark only on p3 instances
...
p4 (A100) and p5 (H100) resources are too scarce on AWS EC2 to use
them. A100 for example almost always fails on spawn request.
2024-03-19 15:42:02 +01:00
David Testé
053d56a3d6
chore(ci): format benchmark results parser with black
2024-03-07 13:33:46 +01:00
David Testé
e5b117ca29
chore(ci): handle new name format to get pbs throughput values
...
core_crypto benchmark name format has been changed to reflect
what's used in other layers. Benchmark result parser was no longer
able to compute the right value for the PBS throughput.
2024-03-07 13:33:46 +01:00
David Testé
a5579532be
chore(ci): add product cost for rtx4090 to compute throughput
...
RTX4090 we're using here is owned by Zama. So we don't pay an
hourly rate to AWS per se. But in ordrer to compute throughput on
benchmarks results, the parser needs a numeric value corresponding
to the hardware used. Ops-per-dollar metric is not really used
today conversely ops-per-seconds is.
In the end we use an approximation of the cost for electrical
consumption.
2024-02-28 15:53:08 +01:00
David Testé
747ade0a54
chore(ci): update gpu aws ec2 ami
...
Done to get clang-format-15 and cmake-format and latest packages
updates.
2024-02-15 14:45:45 +01:00
Agnes Leroy
d5c0c0242c
chore(bench): fix ks benchmark
2024-02-08 22:02:11 +01:00
David Testé
eb4785001d
chore(ci): add checks on params before running lattice estimation
2024-02-06 18:11:16 +01:00
David Testé
9df529bc59
chore(ci): use slab action on fast cpu tests workflow
2024-01-31 09:09:24 +01:00
David Testé
f94a63eedc
chore(bench): add pbs benchmarks on gpu
2024-01-26 17:42:31 +01:00
Pedro Alves
c632ac1b9a
feat(gpu): add tfhe-cuda-backend to the repository
2024-01-18 10:14:36 +01:00
David Testé
4da10e9dd5
chore(ci): add aws ec2 fallback profile for cpu tests
...
This is done to mitigate resource shortages in our base AWS region
(eu-west-3) due to the high number of instances that are launched
in parallel in our Pull Requests.
2023-11-30 13:02:42 +01:00
Arthur Meyre
3ed960d255
chore(ci): fix a command naming issue for the CI
2023-11-29 16:07:31 +01:00
David Testé
0fec9e252b
chore(ci): change benchmark aws ec2 machine type
...
This instance type hpc7a.96xlarge yields better performances for
nearly the same hourly cost.
2023-11-21 14:34:08 +01:00
Arthur Meyre
00fb60451d
chore(ci): group signed and unsigned integer for better runtime homogeneity
2023-11-16 14:18:30 +01:00
David Testé
e11c3d7b7c
chore(ci): add signed integer benchmarks to the CI
2023-10-25 09:14:00 +02:00
David Testé
04fb46e41b
chore(ci): print security level in parameters check
...
The devo profile is used to speed up the compilation phase.
2023-09-20 15:33:39 +02:00
David Testé
53da809f37
chore(ci): reduce max dimension threshold in lattice estimator
2023-09-20 09:39:50 +02:00
David Testé
723910c669
chore(ci): fix end-of-file newlines
2023-09-20 09:39:50 +02:00
David Testé
cef011dd91
chore(ci): add compact keys to parameters security checks
2023-09-18 09:12:51 +02:00
David Testé
a317c4b9dd
chore(ci): run code coverage workflow on aws ec2 instance
2023-09-14 13:32:09 +02:00
David Testé
2e2bd5ba29
chore(ci): use aws ami with missing packages installed
...
libssl-dev and pkg-config packages were missing to be able to install
cargo tarpaulin.
2023-09-14 13:32:09 +02:00