Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs build exceeds the RAM limit on ReadtheDocs #195

Closed
rw1nkler opened this issue Feb 26, 2020 · 4 comments
Closed

Docs build exceeds the RAM limit on ReadtheDocs #195

rw1nkler opened this issue Feb 26, 2020 · 4 comments

Comments

@rw1nkler
Copy link
Contributor

The build on ReadtheDocs server exceeds the RAM limit:
https://readthedocs.org/projects/symbiflow/builds/10499598/

This is caused by the conda environment and is a well-known issue:
readthedocs/readthedocs.org#6412 (comment)

Nevertheless, If we want to use Doxygen on ReadtheDocs we will need conda. Fortunately, In many cases, people from RTD increased the amount of RAM memory for a specific project. Maybe we should ask them for it?

https://docs.readthedocs.io/en/stable/guides/build-using-too-many-resources.html#requests-more-resources

@rw1nkler
Copy link
Contributor Author

rw1nkler commented Feb 28, 2020

It seems that conda itself uses a lot of RAM. Here are results of profiling the conda environment creation process:

  1. Conda with all channels:

environment.yml:

name: SymbiFlow-docs
channels:
  - symbiflow
  - conda-forge
  - defaults
dependencies:
  - doxygen
  - cmake
  - pygobject
  - cairo
  - pango
  - pip
  - pip:
    - -r file:requirements.txt

conda_all_channels

  1. Conda only with conda-forge channel:

environment.yml:

name: SymbiFlow-docs
channels:
  - conda-forge
dependencies:
  - doxygen
  - cmake
  - pygobject
  - cairo
  - pango
  - pip
  - pip:
    - -r file:requirements.txt

conda_limited_channels

  1. Conda only with pip and with reduced number of dependencies:

environment.yml:

name: SymbiFlow-docs
channels:
  - symbiflow
  - conda-forge
  - defaults
dependencies:
  - pip
  - pip:
    - -r file:requirements.txt

requirements.txt:

Sphinx==2.0.0

conda_only_pip

Profiled using:

mprof run --interval 0.01 --include-children ./build/conda/bin/conda env create -q -f environment.yml`

@rw1nkler
Copy link
Contributor Author

rw1nkler commented Mar 5, 2020

I've asked the RTD team, and we now have 1.5 Gb of RAM for the building process.
It seems that this is enough because the build is passing. I will close the issue.

@rw1nkler rw1nkler closed this as completed Mar 5, 2020
@mithro
Copy link
Contributor

mithro commented Mar 5, 2020

@rw1nkler Did you get the memory increased for all the symbiflow related repos?

@rw1nkler
Copy link
Contributor Author

rw1nkler commented Mar 10, 2020

@mithro I've asked them only for this repository.

umarcor pushed a commit to antmicro/f4pga that referenced this issue Oct 3, 2022
Add support for custom wire with dot and packed range
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants