You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.2 KiB
Markdown
54 lines
1.2 KiB
Markdown
# Arnoldi Iteration for Eigenvalues
|
|
|
|
## Setup
|
|
|
|
### Spack
|
|
|
|
> I recently wrote
|
|
> [an article about this](https://aziis98.com/articles/using-spack/)
|
|
|
|
This assumes that you have spack installed and sourced. If not, you can install
|
|
it using the following commands
|
|
|
|
```bash shell
|
|
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
|
|
|
|
# For bash/zsh/sh
|
|
$ . spack/share/spack/setup-env.sh
|
|
# For tcsh/csh
|
|
$ source spack/share/spack/setup-env.csh
|
|
# For fish
|
|
$ . spack/share/spack/setup-env.fish
|
|
|
|
# Then to discover available compilers
|
|
$ spack compiler list
|
|
$ spack compiler find
|
|
```
|
|
|
|
Now in the root directory of this repository, you can load the spack environment
|
|
that contains the packages needed to build the project.
|
|
|
|
```bash shell
|
|
# 1. Activate the local environment
|
|
$ spack env activate ./spack-env
|
|
|
|
# 2. Compile and install the packages listed in the environment
|
|
$ spack install
|
|
|
|
# optional?? it looks like cmake can still find the packages just by loding the environment using pkg-config
|
|
$ spack load openblas openmpi petsc
|
|
```
|
|
|
|
### CMake
|
|
|
|
To build `main` from `main.c`
|
|
|
|
```bash shell
|
|
$ rm -rf build
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake ..
|
|
$ make
|
|
$ mpirun -n 2 ./main
|
|
```
|