Smith
0.1
Smith is an implicit thermal structural mechanics simulation code.
src
smith
infrastructure
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"
14
#include "
smith/infrastructure/accelerator.hpp
"
15
16
namespace
smith
{
17
22
class
ApplicationManager
{
23
public
:
33
ApplicationManager
(
int
argc,
char
* argv[], MPI_Comm comm = MPI_COMM_WORLD,
bool
doesPrintRunInfo =
true
,
34
ExecutionSpace
exec_space = ExecutionSpace::CPU);
35
39
~ApplicationManager
();
40
41
ApplicationManager
(
ApplicationManager
const
&) =
delete
;
42
ApplicationManager
& operator=(
ApplicationManager
const
&) =
delete
;
43
44
private
:
45
MPI_Comm comm_;
46
};
47
48
}
// namespace smith
accelerator.hpp
This file contains the interface used for initializing/terminating any hardware accelerator-related f...
smith::ApplicationManager
RAII Application Manager class. Initializes MPI and other important libraries as well as automaticall...
Definition:
application_manager.hpp:22
smith::ApplicationManager::~ApplicationManager
~ApplicationManager()
Calls smith::finalizer.
Definition:
application_manager.cpp:138
smith::ApplicationManager::ApplicationManager
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.
Definition:
application_manager.cpp:85
smith
Accelerator functionality.
Definition:
smith.cpp:36
smith::ExecutionSpace
ExecutionSpace
enum used for signalling whether or not to perform certain calculations on the CPU or GPU
Definition:
accelerator.hpp:88
Generated by
1.9.1