Commit Graph

24 Commits

Author SHA1 Message Date
Quentin Bourgerie
d0308dda43 chore: Use parameters curves generated files and expose security level options 2023-01-30 15:14:53 +01:00
rudy
ed2adceafa test: tensorized test/bench rely on p-error 2022-12-14 09:21:18 +01:00
rudy
de779b2f6f fix: display compilation error in benchmark
the checking of llvm expected was not correct
2022-12-14 09:21:18 +01:00
Quentin Bourgerie
07aa334d8d chore(benchmarks): Refactor the benchmark tools 2022-12-09 09:51:23 +01:00
Quentin Bourgerie
735e78c141 chore(bench): Use batched concrete operators for gpu benchmarks 2022-12-07 21:32:01 +01:00
Quentin Bourgerie
33a0d1b9e9 chore(bench): Add a first warmup call 2022-12-07 21:32:01 +01:00
David Testé
2c48bdd9fe test(benchmark): execute on-demand benchmarks with gpu backend
When this type of benchmarks is triggered, only the tests that
benefits from GPU acceleration are run on a specific AWS EC2
instance. Note that this instance (p3.2xlarge) is not a bare metal
one, so performance may variate due to hypervisor controlling the
machine.
2022-12-07 21:32:01 +01:00
Quentin Bourgerie
b9ea163704 test(bench/gpu): Activate loop parallelism for e2e benchmark of gpu 2022-12-07 21:32:01 +01:00
rudy
75dd26d0ab feat: bench do not keygen on all keys 2022-12-05 13:57:54 +01:00
Quentin Bourgerie
07c1e8347e refactor(tests): Refactor test tools to easiest run tests with description files and different compilation options 2022-12-05 13:57:54 +01:00
David Testé
3c2a75186f chore(ci): run ml benchmarks in a matrix with slab
This CI "feature" is meant to circumvent the 6 hours hard-limit
for a job in GitHub Action.
The benchmark is done using a matrix which is handled by Slab.
Here's the workflow:

  1. ML benchmarks are started in a fire and forget fashion via
     start_ml_benchmarks.yml
  2. Slab will read ci/slab.toml to get the AWS EC2 configuration
     and the matrix parameters
  3. Slab will launch at most max_parallel_jobs EC2 instances in
     parallel
  4. Each job will trigger ml_benchmark_subset.yml which will run
     only one of the generated YAML file via make generate-mlbench,
     based on the value of the matrix item they were given.
  5. As soon as a job is completed, the next one in the matrix
     will start promptly.

This is done until all the matrix items are exhausted.
2022-11-21 11:25:40 +01:00
Mayeul@Zama
0657767bae style(cmake): run format_cmake.sh 2022-11-18 15:15:41 +01:00
Quentin Bourgerie
84041557ab enhance(bench): Add benchmark generator for leveled operators 2022-11-08 14:27:30 +01:00
Quentin Bourgerie
ec0f49431b chore(bench): Rename default options to cpu 2022-11-04 11:03:19 +01:00
Quentin Bourgerie
46ec919abf fix(bench): Compiler options was badly set 2022-11-04 11:03:19 +01:00
rudy
018684fe2a chore: activate Wall Werror 2022-11-04 10:44:46 +01:00
David Testé
d1db4a5e45 tests(benchmarks): reduce number of test cases to speed-up execution
Bench just one compilation option for automatic benchmarks. Only 'loop'
option is tested to take advantage of hardware with a lot of available
CPUs. Running benchmarks with 'default' option is suboptimal for this
kind of hardware since it uses only one CPU.

This also remove time consuming MNIST test, as it should be in ML benchmarks.

Moreover Makefile is fixed to use provided Python executable instead of
relying on system one to generate MLIR Yaml files.
2022-11-03 19:07:39 +01:00
Quentin Bourgerie
a5047586f4 test(benchmark): Add more micro benchmarks on parallel lookup table 2022-10-20 10:36:32 +01:00
youben11
7cd45d1514 test: add GPU end2end tests 2022-10-20 10:36:32 +01:00
youben11
2383c5aec3 test: add gpu benchs 2022-10-20 10:36:32 +01:00
Andi Drebes
a7051c2c9c enhance(client/server): Add support for scalar results
This patch adds support for scalar results to the client/server
protocol and tests. In addition to `TensorData`, a new type
`ScalarData` is added. Previous representations of scalar values using
one-dimensional `TensorData` instances have been replaced with proper
instantiations of `ScalarData`.

The generic use of `TensorData` for scalar and tensor values has been
replaced with uses of a new variant `ScalarOrTensorData`, which can
either hold an instance of `TensorData` or `ScalarData`.
2022-10-04 14:40:40 +02:00
Antoniu Pop
09184077d9 benchmarking: add YAML generator and ML benchmarks (see issue https://github.com/zama-ai/concrete-ml-internal/issues/1543). 2022-09-15 14:38:56 +01:00
Antoniu Pop
39e7313348 feat(tests): add function for increasing the stack limit and use for benchmark overflow. 2022-09-08 11:35:56 +01:00
Quentin Bourgerie
2cfccd8f89 refactor: restructure the tests directory layout 2022-07-07 17:10:09 +02:00