artiq-full evaluation is a memory hog #25

Closed
opened 2020-06-10 21:58:54 +08:00 by sb10q · 5 comments

Slow and makes hydra-eval-job use more than 20GB and sometimes crash with OOM.

Slow and makes hydra-eval-job use more than 20GB and sometimes crash with OOM.

Does 8f7308b improve the situation?

A migen patch may not be the most durable. I'm open for suggestions.

Does 8f7308b improve the situation? A migen patch may not be the most durable. I'm open for suggestions.
Poster
Owner

It's the evaluation (i.e. hydra-eval-job process, as I mentioned) that is the problem. Not the Vivado runs, where you actually want the little parallelism it supports to reduce build time.

It's the *evaluation* (i.e. hydra-eval-job process, as I mentioned) that is the problem. Not the Vivado runs, where you actually want the little parallelism it supports to reduce build time.

This improves memory usage and duration a lot for me: f1325dce29

This improves memory usage and duration a lot for me: f1325dce2941dbc127654e13b8acffdc151e5ffa
astro closed this issue 2020-06-18 05:21:56 +08:00
Poster
Owner

Thanks, also much better on nixbld.m-labs.hk.
I'm curious what was happening - lots of copies of the entire nixpkgs object?

Thanks, also much better on nixbld.m-labs.hk. I'm curious what was happening - lots of copies of the entire nixpkgs object?

For each of the board jobs, it was loading and evaluating the Vivado, Artiq and associated declarations over and over. I think it's putting import statements inside much-called functions (artiq-board) even when none of the function parameters are actually passed along.

For each of the board jobs, it was loading and evaluating the Vivado, Artiq and associated declarations over and over. I think it's putting `import` statements inside much-called functions (`artiq-board`) even when none of the function parameters are actually passed along.
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/nix-scripts#25
There is no content yet.