#include <mpi.h>
#include <smpi/smpi.h>
+#include <simgrid/plugins/energy.h>
+#include <simgrid/simix.h>
+
int main(int argc, char *argv[])
{
int rank;
exit(EXIT_FAILURE);
}
- int pstates = smpi_get_host_nb_pstates();
+ int pstates = sg_host_get_nb_pstates(sg_host_self());
char *s = buf;
size_t sz = sizeof buf;
size_t x = snprintf(s, sz,
"[%.6f] [rank %d] Pstates: %d; Powers: %.0f",
- MPI_Wtime(), rank, pstates, smpi_get_host_power_peak_at(0));
+ MPI_Wtime(), rank, pstates, sg_host_get_pstate_speed(sg_host_self(), 0));
if (x < sz) {
s += x;
sz -= x;
} else
sz = 0;
for (i = 1; i < pstates; i++) {
- x = snprintf(s, sz, ", %.0f", smpi_get_host_power_peak_at(i));
+ x = snprintf(s, sz, ", %.0f", sg_host_get_pstate_speed(sg_host_self(), i));
if (x < sz) {
s += x;
sz -= x;
fprintf(stderr, "%s%s\n", buf, (sz ? "" : " [...]"));
for (i = 0; i < pstates; i++) {
- smpi_set_host_pstate(i);
+ sg_host_set_pstate(sg_host_self(), i);
fprintf(stderr, "[%.6f] [rank %d] Current pstate: %d; Current power: %.0f\n",
- MPI_Wtime(), rank, i, smpi_get_host_current_power_peak());
+ MPI_Wtime(), rank, i, sg_host_speed(sg_host_self()));
SMPI_SAMPLE_FLOPS(1e9) {
/* imagine here some code running for 1e9 flops... */
}
fprintf(stderr, "[%.6f] [rank %d] Energy consumed: %g Joules.\n",
- MPI_Wtime(), rank, smpi_get_host_consumed_energy());
+ MPI_Wtime(), rank, sg_host_get_consumed_energy(sg_host_self()));
}
err = MPI_Finalize();
XBT_PUBLIC void smpi_execute(double duration);
XBT_PUBLIC void smpi_execute_benched(double duration);
-XBT_PUBLIC double smpi_get_host_power_peak_at(int pstate_index);
-XBT_PUBLIC double smpi_get_host_current_power_peak();
-XBT_PUBLIC int smpi_get_host_nb_pstates();
-XBT_PUBLIC void smpi_set_host_pstate(int pstate_index);
-XBT_PUBLIC int smpi_get_host_pstate();
-
-XBT_PUBLIC double smpi_get_host_consumed_energy();
+// PLEASE NOTE: If you remove these functions, the entire smpi_dvfs.cpp file can be removed as well!!
+XBT_ATTRIB_DEPRECATED_v324("Please use sg_host_get_pstate_speed(sg_host_self(), pstate_index) instead") XBT_PUBLIC double smpi_get_host_power_peak_at(int pstate_index);
+XBT_ATTRIB_DEPRECATED_v324("Please use sg_host_speed(sg_host_self()) instead") XBT_PUBLIC double smpi_get_host_current_power_peak();
+XBT_ATTRIB_DEPRECATED_v324("Please use sg_host_get_nb_pstates(sg_host_self()) instead") XBT_PUBLIC int smpi_get_host_nb_pstates();
+XBT_ATTRIB_DEPRECATED_v324("Please use sg_host_set_pstate(sg_host_self(), pstate_index) instead") XBT_PUBLIC void smpi_set_host_pstate(int pstate_index);
+XBT_ATTRIB_DEPRECATED_v324("Please use sg_host_get_pstate(sg_host_self()) instead") XBT_PUBLIC int smpi_get_host_pstate();
+
+XBT_ATTRIB_DEPRECATED_v324("Please use sg_host_get_consumed_energy(sg_host_self()) instead") XBT_PUBLIC double smpi_get_host_consumed_energy();
XBT_PUBLIC unsigned long long smpi_rastro_resolution();