Commit Graph

8976 Commits

Author SHA1 Message Date
Louis Dureuil
cfb27adb3e
Tracing trace: toggle the profiling of memory at runtime 2024-02-07 15:57:51 +01:00
Tamo
79cabb1e79 update the github discussion links 2024-02-07 15:56:47 +01:00
Tamo
7230ed4bb2 get rids of the log dependencies everywhere 2024-02-07 15:51:38 +01:00
Tamo
b5db926dbf add a profile_memory parameter disabled by default 2024-02-07 14:45:40 +01:00
Tamo
f839c8e61d move the /logs route to the /logs/stream route 2024-02-07 12:13:57 +01:00
Clément Renault
4f9539d91e
Simplify MemoryStats fetching 2024-02-07 10:09:47 +01:00
Tamo
15579667d4 add back the actix-web logs 2024-02-07 09:20:18 +01:00
Louis Dureuil
32529d7442
logs route profile mode: don't barf bytes if the buffer is not empty 2024-02-06 18:24:02 +01:00
Clément Renault
6f3420f114
Replace the procfs by libproc 2024-02-06 18:22:01 +01:00
Louis Dureuil
86bad58c9a
spanstats: change field names 2024-02-06 17:50:19 +01:00
Louis Dureuil
a874dbc841
tracing-trace: Spanstats deserializable + public fields 2024-02-06 17:50:19 +01:00
Clément Renault
6e772effcb
Replace stats_alloc with procfs 2024-02-06 15:21:47 +01:00
Tamo
3331995976
get rids of log in milli and add logs for the bucket sort 2024-02-06 10:49:23 +01:00
Tamo
35d8546fc3
fix the auth 2024-02-05 14:14:13 +01:00
Tamo
53a0daf018
fix the tests and add tests on the experimental features 2024-02-05 14:05:24 +01:00
Tamo
1ab9d9bdf2
hide the route logs behind a feature flag 2024-02-05 13:31:46 +01:00
Tamo
e2b2c55c79
handle and tests errors 2024-02-05 11:52:05 +01:00
Tamo
40487194a7
add a test 2024-02-01 18:02:02 +01:00
Louis Dureuil
995d6ee81d
meilisearch: logs route disconnects in profile mode 2024-01-31 17:54:01 +01:00
Louis Dureuil
ba838d1759
meilisearch: don't spawn a report everytime Meilisearch starts 2024-01-31 17:54:01 +01:00
Louis Dureuil
e3be095617
tracing-trace: introduce TraceWriter, trace now only exposes the channel 2024-01-31 17:54:01 +01:00
Louis Dureuil
ab9ecb28cc
tracing-trace: implement Error on Error 2024-01-31 17:54:01 +01:00
Tamo
98e946cc6c
get rids of env loggegr and fix the tests 2024-01-31 17:46:36 +01:00
Tamo
362ead123a
stops profiling in a file by default 2024-01-31 17:21:27 +01:00
Louis Dureuil
9ca4db6ef0
Add cancel log route 2024-01-30 18:15:53 +01:00
Tamo
2f484b7382
start handling reloads with profiling 2024-01-30 16:31:42 +01:00
Tamo
a144ae10d2
start exposing the profiling layer 2024-01-30 14:19:46 +01:00
Louis Dureuil
8b3e0b3826
Add dummy log when calling tasks 2024-01-30 12:28:03 +01:00
Louis Dureuil
9507a20d8b
Simplify stream implementation 2024-01-30 12:27:49 +01:00
Louis Dureuil
31df954aa5
better than before??? 2024-01-29 18:45:55 +01:00
Tamo
894c92cd5a
make it compile and runtime error 2024-01-29 17:56:43 +01:00
Tamo
279c56a665
init commit 2024-01-29 13:36:10 +01:00
Tamo
9736424142
WIP: first draft at introducing a new log route 2024-01-25 18:09:50 +01:00
Tamo
2224548add
nelson is not used anymore 2024-01-24 15:13:34 +01:00
Louis Dureuil
7f7b1b9269
use json lines 2024-01-24 11:16:41 +01:00
Louis Dureuil
75a17bd065
Add span stats processor 2024-01-24 09:50:51 +01:00
Louis Dureuil
20c75aa85c
Use with tokio channel in Meilisearch 2024-01-23 16:53:05 +01:00
Louis Dureuil
07263bc0d7
Switch to tokio channel 2024-01-23 16:52:48 +01:00
Louis Dureuil
eb5c725931
Support Events in trace layer 2024-01-23 16:25:05 +01:00
Louis Dureuil
ef49ae7d6f Switch to a single view indicating current usage 2024-01-23 14:37:29 +01:00
Louis Dureuil
879aa786a5 Refactor memory handling and add markers 2024-01-23 14:37:29 +01:00
Clément Renault
33cbbfbe68 Remove the stats_alloc from the default features 2024-01-23 14:37:29 +01:00
Clément Renault
b72146eee4 Give the allocator to the tracer when necessary 2024-01-23 14:37:29 +01:00
Louis Dureuil
803f5a7936 Format the bytes as human readable bytes
Uses the same `byte_unit` version as `meilisearch`
2024-01-23 14:37:29 +01:00
Clément Renault
b177ed5696 Logging the memory usage over time 2024-01-23 14:37:29 +01:00
Louis Dureuil
789e5a9aff
Add tracing to Meilisearch 2024-01-23 10:03:31 +01:00
Louis Dureuil
f48fc2e425
Add tracing to milli 2024-01-23 10:03:31 +01:00
Louis Dureuil
34a4a0520f
Add tracing to index-scheduler 2024-01-23 10:03:26 +01:00
Louis Dureuil
117e43a9ec
Add tracing-trace 2024-01-23 09:40:07 +01:00
meili-bors[bot]
b6fc181993
Merge #4304
4304: Add CUDA GPU support for Hugging Face embedders r=Kerollmops a=dureuill

Adds a "cuda" feature to `milli`.

Compiling with this feature requires that the CUDA support library be installed (see "with CUDA support" paragraph in https://huggingface.github.io/candle/guide/installation.html), and adds CUDA support to the `huggingFace` embedder.

To enable GPU support, users will need to:

1. Have a compatible NVidia GPU under Linux
2. Follow [the guide](https://huggingface.github.io/candle/guide/installation.html) to install the CUDA dependencies
3. Compile Meilisearch with the `cuda` feature: `cargo build --release --features cuda`

# Impact

Enabling the CUDA feature allows to use an available GPU to compute embeddings with a `huggingFace` embedder. 
On an AWS Graviton 2, this yields a x3 - x5 improvement on indexing time.

# Technical details

- I had to change the CI so that the cuda feature is not included in the `Tests all features` workflow
- To achieve that, I had to add a binary following the `cargo xtask` design pattern, to list all features excepted the cuda one.
- I then changed the workflow accordingly (renamed to "Tests almost all features" 😉)
- A test run of the new feature was done on a temporary version of this PR that had it enabled for PRs: [See the results here](https://github.com/meilisearch/meilisearch/actions/runs/7461331929/job/20301216732)

Co-authored-by: Louis Dureuil <louis@meilisearch.com>
2024-01-22 13:55:04 +00:00