stan-dev / stan-dev/math

improve MPI makefile

Open
#905 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

mpi
Dominant language
C++
Stars
839
Forks
220
Avg merge
2d 4h
Merged PRs (30d)
14

Description

Summary:

The MPI makefiles currently do not build boost in parallel and they also do not integrate well with cmdstan.

Description:
  • Builds are slow due to not using parallelization of boost builds.
  • make/setup_mpi adds to the global LDFLAFS and CXXFLAGS which is problematic for cmdstan.
  • We should be able to use our standard CC=clang++ in make/local to configure the compiler used for the shared Boost libraries as well. By default it picks something installed on the system somewhat at random and if this is different than the compiler used to compile Stan programs we can achieve segfaults.
Reproducible Steps:

NA

Current Output:

NA

Expected Output:

NA

Additional Information:

Provide any additional information here.

Current Version:

develop

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting make/setup_mpi and the make/local compiler settings, then trace how their flags are passed into Boost and cmdstan builds. Done means Boost builds in parallel, MPI setup does not modify global LDFLAGS or CXXFLAGS, and the compiler configured in make/local is used for shared Boost libraries.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.