Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
application_manager.hpp
1 // Copyright (c) Lawrence Livermore National Security, LLC and
2 // other Smith Project Developers. See the top-level LICENSE file for
3 // details.
4 //
5 // SPDX-License-Identifier: (BSD-3-Clause)
6 
7 #pragma once
8 
9 #include <string>
10 #include <utility>
11 #include <iostream>
12 
13 #include "mpi.h"
15 
16 namespace smith {
17 
23  public:
33  ApplicationManager(int argc, char* argv[], MPI_Comm comm = MPI_COMM_WORLD, bool doesPrintRunInfo = true,
34  ExecutionSpace exec_space = ExecutionSpace::CPU);
35 
40 
41  ApplicationManager(ApplicationManager const&) = delete;
42  ApplicationManager& operator=(ApplicationManager const&) = delete;
43 
44  private:
45  MPI_Comm comm_;
46 };
47 
48 } // namespace smith
This file contains the interface used for initializing/terminating any hardware accelerator-related f...
RAII Application Manager class. Initializes MPI and other important libraries as well as automaticall...
~ApplicationManager()
Calls smith::finalizer.
ApplicationManager(int argc, char *argv[], MPI_Comm comm=MPI_COMM_WORLD, bool doesPrintRunInfo=true, ExecutionSpace exec_space=ExecutionSpace::CPU)
Initialize MPI, signal handling, logging, profiling, hypre, sundials, petsc, and slepc.
Accelerator functionality.
Definition: smith.cpp:36
ExecutionSpace
enum used for signalling whether or not to perform certain calculations on the CPU or GPU
Definition: accelerator.hpp:88