32 #include <sys/resource.h>
33 #include <libxml/encoding.h>
34 #include <libxml/xmlwriter.h>
57 struct timeval *time);
64 long_long papi_complexity;
81 #define XMLENCODING "ISO-8859-1"
102 ret = PAPI_flops(&papi_realtime, &papi_usedtime, &papi_complexity,
106 printf(
"Could not initialize PAPI_flops\n");
107 printf(
"Your platform may not support the floating point operation.\n");
122 ret = PAPI_flops(&papi_realtime, &papi_usedtime, &papi_complexity,
126 printf(
"Could not finalize PAPI_flops\n");
127 printf(
"Your platform may not support the floating point operation.\n");
143 printf(
"%d %d\n", (
int)papi_realtime, (
int)(1000000.0*(papi_realtime-
144 (
int)papi_realtime)));
145 printf(
"%d %d\n", (
int)papi_usedtime, (
int)(1000000.0*(papi_usedtime-
146 (
int)papi_usedtime)));
147 printf(
"%lld\n", papi_complexity);
176 xmlTextWriterPtr writer;
179 buf = xmlBufferCreate();
181 printf(
"pmm_timer_result: Error creating xml buffer\n");
185 writer = xmlNewTextWriterMemory(buf, 0);
187 printf(
"pmm_timer_result: Error creating xml writer\n");
191 rc = xmlTextWriterSetIndent(writer, 1);
193 printf(
"pmm_timer_result: Error setting indent\n");
197 rc = xmlTextWriterStartDocument(writer, NULL,
XMLENCODING, NULL);
199 printf(
"pmm_timer_result: Error at xmlTextWriterStartDocument\n");
203 rc = xmlTextWriterStartElement(writer, BAD_CAST
"result");
205 printf(
"pmm_timer_result: Error creating \'result\' element\n");
211 printf(
"print_xml_results: Error printing walltime result\n");
217 printf(
"print_xml_results: Error printing usedtime result\n");
222 rc = xmlTextWriterEndDocument(writer);
224 printf(
"print_xml_results: Error closing xml document\n");
228 xmlFreeTextWriter(writer);
230 printf(
"%s", (
const char*)buf->content);
237 struct timeval *time) {
240 rc = xmlTextWriterStartElement(writer, BAD_CAST name);
242 printf(
"print_xml_time_element: Error opening time element\n");
246 rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST
"seconds",
"%ld",
249 printf(
"print_xml_time_element: Error writing seconds element\n");
253 rc = xmlTextWriterWriteFormatElement(writer, BAD_CAST
"useconds",
"%ld",
254 (
long)time->tv_usec);
256 printf(
"print_xml_time_element: Error writing useconds\n");
260 rc = xmlTextWriterEndElement(writer);
262 printf(
"print_xml_time_element: Error closing time element\n");
273 printf(
"%ld %ld\n", walltime->tv_sec, walltime->tv_usec);
274 printf(
"%ld %ld\n", usedtime->tv_sec, usedtime->tv_usec);
277 fp = fopen(
"/tmp/pmm_results",
"w");
278 fprintf(fp,
"%ld %ld\n", walltime->tv_sec, walltime->tv_usec);
279 fprintf(fp,
"%ld %ld\n", usedtime->tv_sec, usedtime->tv_usec);