X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/12a61a8ab437baed346e356f63e02cdaeabeb6f4..ce1289d4421b08ce6f69d8203784ee648671972e:/src/smpi/smpi_dvfs.c diff --git a/src/smpi/smpi_dvfs.c b/src/smpi/smpi_dvfs.c index 352e548efc..608bba4cbb 100644 --- a/src/smpi/smpi_dvfs.c +++ b/src/smpi/smpi_dvfs.c @@ -1,19 +1,17 @@ -/* Copyright (c) 2013. The SimGrid Team. +/* Copyright (c) 2013-2014. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it - * under the terms of the license (GNU LGPL) which comes with this package. */ + * under the terms of the license (GNU LGPL) which comes with this package. */ #include "xbt/log.h" #include "simgrid/simix.h" #include "smpi/smpi.h" +#include "internal_config.h" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_dvfs, smpi, "Logging specific to SMPI (experimental DVFS support)"); -XBT_PUBLIC(double) smpi_get_host_power_peak_at_(int *pstate_index); -XBT_PUBLIC(void) smpi_set_host_power_peak_at_(int *pstate_index); - /** * \brief Return the speed of the processor (in flop/s) at a given pstate * @@ -25,17 +23,12 @@ double smpi_get_host_power_peak_at(int pstate_index) return simcall_host_get_power_peak_at(SIMIX_host_self(), pstate_index); } -double smpi_get_host_power_peak_at_(int *pstate_index) -{ - return smpi_get_host_power_peak_at(*pstate_index); -} - /** * \brief Return the current speed of the processor (in flop/s) * * \return Returns the current processor speed */ -double smpi_get_host_current_power_peak_(void) +double smpi_get_host_current_power_peak(void) { return simcall_host_get_current_power_peak(SIMIX_host_self()); } @@ -43,7 +36,7 @@ double smpi_get_host_current_power_peak_(void) /** * \brief Return the number of pstates defined for host */ -int smpi_get_host_nb_pstates_(void) +int smpi_get_host_nb_pstates(void) { return simcall_host_get_nb_pstates(SIMIX_host_self()); } @@ -58,17 +51,61 @@ void smpi_set_host_power_peak_at(int pstate_index) simcall_host_set_power_peak_at(SIMIX_host_self(), pstate_index); } -void smpi_set_host_power_peak_at_(int *pstate_index) -{ - smpi_set_host_power_peak_at(*pstate_index); -} - /** * \brief Return the total energy consumed by a host (in Joules) * * \return Returns the consumed energy */ -double smpi_get_host_consumed_energy_(void) +double smpi_get_host_consumed_energy(void) { return simcall_host_get_consumed_energy(SIMIX_host_self()); } + + +#ifdef SMPI_FORTRAN + +#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) +typedef int integer; +typedef unsigned int uinteger; +#else +typedef long int integer; +typedef unsigned long int uinteger; +#endif +typedef char *address; +typedef short int shortint; +typedef float real; +typedef double doublereal; +typedef struct { real r, i; } complex; +typedef struct { doublereal r, i; } doublecomplex; + +XBT_PUBLIC(doublereal) smpi_get_host_power_peak_at_(integer *pstate_index); +doublereal smpi_get_host_power_peak_at_(integer *pstate_index) +{ + return (doublereal)smpi_get_host_power_peak_at((int)*pstate_index); +} + +XBT_PUBLIC(doublereal) smpi_get_host_current_power_peak_(void); +doublereal smpi_get_host_current_power_peak_(void) +{ + return smpi_get_host_current_power_peak(); +} + +XBT_PUBLIC(integer) smpi_get_host_nb_pstates_(void); +integer smpi_get_host_nb_pstates_(void) +{ + return (integer)smpi_get_host_nb_pstates(); +} + +XBT_PUBLIC(void) smpi_set_host_power_peak_at_(integer *pstate_index); +void smpi_set_host_power_peak_at_(integer *pstate_index) +{ + smpi_set_host_power_peak_at((int)*pstate_index); +} + +XBT_PUBLIC(doublereal) smpi_get_host_consumed_energy_(void); +doublereal smpi_get_host_consumed_energy_(void) +{ + return (doublereal)smpi_get_host_consumed_energy(); +} + +#endif