-
-
Notifications
You must be signed in to change notification settings - Fork 99
Getting Started with CmdStan
CmdStan requires:
- A C++11 compiler
- The Gnu
makeutility for *nix,mingw_64for 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
maketargetstan-updatewhich recursively installs thestanandstan-mathsubmodules and thestanccompiler.make stan-update
The make target help will display options.
-
Build all tools (optional):
make build -
Build a model
foo/bar.stanlinux / mac:
make foo/barwindows:
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.