-
-
Notifications
You must be signed in to change notification settings - Fork 93
Getting Started with CmdStan
CmdStan requires:
- A C++11 compiler
- The Gnu
make
utility for *nix,mingw_64
for Windows
See the Stan wiki page for a list of supported compilers. Note that for running CmdStan on Windows we recommend the toolchain that is bundled with Rtools40.
Python 3 users can install CmdStan using the install_cmdstan
script
included with CmdStanPy
The CmdStan releases page includes a link to a tar.gz
file which contains CmdStan and all submodules. Download and unpack the latest release.
-
Clone CmdStan
git clone https://github.com/stan-dev/cmdstan.git --recursive
-
run
make
targetstan-update
which recursively installs thestan
andstan-math
submodules and thestanc
compiler.make stan-update
The make target help
will display options.
-
Build all tools (optional):
make build
-
Build a model
foo/bar.stan
linux / mac:
make foo/bar
windows:
make foo/bar.exe
From the cmdstan home directory, compile the bernoulli.stan
model specified in the examples/bernoulli
folder:
make examples/bernoulli/bernoulli
Run the default sampling algorithm using the data specified in bernoulli.data.R
. This prints out information while the algorithm runs and outputs a file output.csv
in the current directory:
examples/bernoulli/bernoulli sample data file=examples/bernoulli/bernoulli.data.R
Use the stansummary
script to summarize the information and print to standard output:
bin/stansummary output.csv
If the branch is feature/foo-bar
, from the cmdstan home directory:
make stan-update/feature/foo-bar
Simply run make stan-update
from the cmdstan home directory.
It may be helpful at times to run manual git commands in the repos. Stan is a submodule within CmdStan and is located in the stan/
folder. The math library is a submodule within Stan and is located in the stan/lib/stan_math
directory.
To keep everything up-to-date manually, run git pull
within the home directory of each repo (cmdstan, stan, and math). Similarly, to change branches for one of these repos, simply git checkout
that branch within the home directory of that repo.
See Threading support at stan-dev/math
See MPI Parallelism at stan-dev/math
Comprehensive documentation is available from the CmdStan Interface User's Guide, distributed with each release.