Line data Source code
1 1 : /** 2 : * @file main.c 3 : * 4 : * @brief Simulator main entry point 5 : * 6 : * This module implements the main function, the entry point of all simulations. 7 : * 8 : * SPDX-FileCopyrightText: 2008-2021 HPDCS Group <rootsim@googlegroups.com> 9 : * SPDX-License-Identifier: GPL-3.0-only 10 : */ 11 : #include <core/core.h> 12 : 13 : #include <core/init.h> 14 : #include <distributed/mpi.h> 15 : #include <log/stats.h> 16 : #include <parallel/parallel.h> 17 : #include <serial/serial.h> 18 : 19 1 : int main(int argc, char **argv) 20 : { 21 : stats_global_time_start(); 22 : 23 : #ifdef ROOTSIM_MPI 24 : mpi_global_init(&argc, &argv); 25 : #endif 26 : init_args_parse(argc, argv); 27 : 28 : if (global_config.is_serial) { 29 : serial_simulation(); 30 : } else { 31 : parallel_simulation(); 32 : } 33 : 34 : #ifdef ROOTSIM_MPI 35 : mpi_global_fini(); 36 : #endif 37 : }