Changeset 2428
- Timestamp:
- 11/22/22 14:25:20 (17 months ago)
- Location:
- XIOS2/trunk/src
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS2/trunk/src/client.cpp
r2029 r2428 10 10 #include "mpi.hpp" 11 11 #include "timer.hpp" 12 #include "mem_checker.hpp"Â 12 13 #include "buffer_client.hpp" 13 14 #include "string_tools.hpp" … … 302 303 report(0)<< " Memory report : increasing it by a factor will increase performance, depending of the volume of data wrote in file at each time step of the file"<<endl ; 303 304 report(100)<<CTimer::getAllCumulatedTime()<<endl ; 305 report(100)<<CMemChecker::getAllCumulatedMem()<<endl ; 304 306 } 305 307 -
XIOS2/trunk/src/cxios.cpp
r2330 r2428 10 10 #include <new> 11 11 #include "memtrack.hpp" 12 #include "mem_checker.hpp" 12 13 #include "registry.hpp" 13 14 … … 45 46 bool CXios::checkSumRecv=false ; 46 47 bool CXios::checkSumSend=false ; 48 bool CXios::logMemory=false ; 47 49 48 50 //! Parse configuration file and create some objects from it … … 97 99 checkSumSend = getin<bool>("checksum_send_fields", false); 98 100 checkSumRecv = getin<bool>("checksum_recv_fields", false); 101 102 logMemory = getin<bool>("log_memory", false); 99 103 100 104 globalComm=MPI_COMM_WORLD ; … … 131 135 CClient::openErrorStream(); 132 136 } 137 CMemChecker::logMem("CXios::initClientSide"); 133 138 } 134 139 CATCH … … 136 141 void CXios::clientFinalize(void) 137 142 { 143 CMemChecker::logMem("CXios::clientFinalize", true); 138 144 CClient::finalize() ; 139 145 if (CClient::getRank()==0) … … 206 212 CServer::openErrorStream(); 207 213 } 214 CMemChecker::logMem( "CServer::initialize" ); 208 215 209 216 // Enter the loop to listen message from Client -
XIOS2/trunk/src/cxios.hpp
r2330 r2428 60 60 static bool checkSumRecv; //!< For debugging, compute a checksum of fields received by the model through the XIOS client 61 61 62 static bool logMemory; //!< Activate memory monitoring for all XIOS process 63 62 64 public: 63 65 //! Setting xios to use server mode -
XIOS2/trunk/src/filter/temporal_filter.cpp
r1876 r2428 4 4 #include "workflow_graph.hpp" 5 5 #include "file.hpp" 6 #include "mem_checker.hpp" 6 7 7 8 namespace xios … … 130 131 packet = data[0]; 131 132 132 isFirstOperation = false; 133 CMemChecker::logMem( "CTemporalFilter::apply" ); 134 135 isFirstOperation = false; 133 136 134 137 packet->field = this->field; -
XIOS2/trunk/src/interface/c/iccalendar.cpp
r1622 r2428 4 4 #include "exception.hpp" 5 5 #include "timer.hpp" 6 #include "mem_checker.hpp" 6 7 #include "context.hpp" 7 8 #include "context_client.hpp" … … 12 13 TRY 13 14 { 15 CMemChecker::get("XIOS update calendar").resume(); 14 16 CTimer::get("XIOS").resume(); 15 17 xios::CContext* context = CContext::getCurrent(); … … 19 21 context->sendUpdateCalendar(step); 20 22 CTimer::get("XIOS").suspend(); 23 CMemChecker::get("XIOS update calendar").suspend(); 21 24 } 22 25 CATCH_DUMP_STACK -
XIOS2/trunk/src/interface/c/icdata.cpp
r2131 r2428 25 25 #include "mpi.hpp" 26 26 #include "timer.hpp" 27 #include "mem_checker.hpp" 27 28 #include "array_new.hpp" 28 29 … … 117 118 TRY 118 119 { 120 CMemChecker::get("XIOS close definition").resume(); 119 121 CTimer::get("XIOS").resume(); 120 122 CTimer::get("XIOS close definition").resume(); … … 123 125 CTimer::get("XIOS close definition").suspend(); 124 126 CTimer::get("XIOS").suspend(); 127 CMemChecker::get("XIOS close definition").suspend(); 125 128 } 126 129 CATCH_DUMP_STACK … … 414 417 TRY 415 418 { 419 CMemChecker::get("XIOS send field").resume(); 416 420 CTimer::get("XIOS").resume(); 417 421 CTimer::get("XIOS send field").resume(); … … 423 427 CTimer::get("XIOS send field").suspend(); 424 428 CTimer::get("XIOS").suspend(); 429 CMemChecker::get("XIOS send field").suspend(); 425 430 } 426 431 CATCH_DUMP_STACK … … 441 446 TRY 442 447 { 448 CMemChecker::get("XIOS send field").resume(); 443 449 CTimer::get("XIOS").resume(); 444 450 CTimer::get("XIOS send field").resume(); … … 453 459 CTimer::get("XIOS send field").suspend(); 454 460 CTimer::get("XIOS").suspend(); 461 CMemChecker::get("XIOS send field").suspend(); 455 462 } 456 463 CATCH_DUMP_STACK … … 471 478 TRY 472 479 { 480 CMemChecker::get("XIOS send field").resume(); 473 481 CTimer::get("XIOS").resume(); 474 482 CTimer::get("XIOS send field").resume(); … … 483 491 CTimer::get("XIOS send field").suspend(); 484 492 CTimer::get("XIOS").suspend(); 493 CMemChecker::get("XIOS send field").suspend(); 485 494 } 486 495 CATCH_DUMP_STACK … … 503 512 TRY 504 513 { 514 CMemChecker::get("XIOS send field").resume(); 505 515 CTimer::get("XIOS").resume(); 506 516 CTimer::get("XIOS send field").resume(); … … 515 525 CTimer::get("XIOS send field").suspend(); 516 526 CTimer::get("XIOS").suspend(); 527 CMemChecker::get("XIOS send field").suspend(); 517 528 } 518 529 CATCH_DUMP_STACK … … 537 548 TRY 538 549 { 550 CMemChecker::get("XIOS send field").resume(); 539 551 CTimer::get("XIOS").resume(); 540 552 CTimer::get("XIOS send field").resume(); … … 549 561 CTimer::get("XIOS send field").suspend(); 550 562 CTimer::get("XIOS").suspend(); 563 CMemChecker::get("XIOS send field").suspend(); 551 564 } 552 565 CATCH_DUMP_STACK … … 575 588 TRY 576 589 { 590 CMemChecker::get("XIOS send field").resume(); 577 591 CTimer::get("XIOS").resume(); 578 592 CTimer::get("XIOS send field").resume(); … … 587 601 CTimer::get("XIOS send field").suspend(); 588 602 CTimer::get("XIOS").suspend(); 589 } 603 CMemChecker::get("XIOS send field").suspend(); 604 } 590 605 CATCH_DUMP_STACK 591 606 … … 610 625 { 611 626 627 CMemChecker::get("XIOS send field").resume(); 612 628 CTimer::get("XIOS").resume(); 613 629 CTimer::get("XIOS send field").resume(); … … 622 638 CTimer::get("XIOS send field").suspend(); 623 639 CTimer::get("XIOS").suspend(); 640 CMemChecker::get("XIOS send field").suspend(); 624 641 } 625 642 CATCH_DUMP_STACK … … 646 663 TRY 647 664 { 665 CMemChecker::get("XIOS send field").resume(); 648 666 CTimer::get("XIOS").resume(); 649 667 CTimer::get("XIOS send field").resume(); … … 658 676 CTimer::get("XIOS send field").suspend(); 659 677 CTimer::get("XIOS").suspend(); 678 CMemChecker::get("XIOS send field").suspend(); 660 679 } 661 680 CATCH_DUMP_STACK … … 681 700 TRY 682 701 { 702 CMemChecker::get("XIOS send field").resume(); 683 703 CTimer::get("XIOS").resume(); 684 704 CTimer::get("XIOS send field").resume(); … … 693 713 CTimer::get("XIOS send field").suspend(); 694 714 CTimer::get("XIOS").suspend(); 715 CMemChecker::get("XIOS send field").suspend(); 695 716 } 696 717 CATCH_DUMP_STACK … … 710 731 TRY 711 732 { 733 CMemChecker::get("XIOS send field").resume(); 712 734 CTimer::get("XIOS").resume(); 713 735 CTimer::get("XIOS send field").resume(); … … 724 746 CTimer::get("XIOS send field").suspend(); 725 747 CTimer::get("XIOS").suspend(); 748 CMemChecker::get("XIOS send field").suspend(); 726 749 } 727 750 CATCH_DUMP_STACK … … 740 763 TRY 741 764 { 765 CMemChecker::get("XIOS send field").resume(); 742 766 CTimer::get("XIOS").resume(); 743 767 CTimer::get("XIOS send field").resume(); … … 754 778 CTimer::get("XIOS send field").suspend(); 755 779 CTimer::get("XIOS").suspend(); 780 CMemChecker::get("XIOS send field").suspend(); 756 781 } 757 782 CATCH_DUMP_STACK … … 772 797 TRY 773 798 { 799 CMemChecker::get("XIOS send field").resume(); 774 800 CTimer::get("XIOS").resume(); 775 801 CTimer::get("XIOS send field").resume(); … … 786 812 CTimer::get("XIOS send field").suspend(); 787 813 CTimer::get("XIOS").suspend(); 814 CMemChecker::get("XIOS send field").suspend(); 788 815 } 789 816 CATCH_DUMP_STACK … … 805 832 TRY 806 833 { 834 CMemChecker::get("XIOS send field").resume(); 807 835 CTimer::get("XIOS").resume(); 808 836 CTimer::get("XIOS send field").resume(); … … 819 847 CTimer::get("XIOS send field").suspend(); 820 848 CTimer::get("XIOS").suspend(); 849 CMemChecker::get("XIOS send field").suspend(); 821 850 } 822 851 CATCH_DUMP_STACK … … 841 870 TRY 842 871 { 872 CMemChecker::get("XIOS send field").resume(); 843 873 CTimer::get("XIOS").resume(); 844 874 CTimer::get("XIOS send field").resume(); … … 855 885 CTimer::get("XIOS send field").suspend(); 856 886 CTimer::get("XIOS").suspend(); 887 CMemChecker::get("XIOS send field").suspend(); 857 888 } 858 889 CATCH_DUMP_STACK … … 876 907 TRY 877 908 { 909 CMemChecker::get("XIOS send field").resume(); 878 910 CTimer::get("XIOS").resume(); 879 911 CTimer::get("XIOS send field").resume(); … … 890 922 CTimer::get("XIOS send field").suspend(); 891 923 CTimer::get("XIOS").suspend(); 924 CMemChecker::get("XIOS send field").suspend(); 892 925 } 893 926 CATCH_DUMP_STACK … … 911 944 TRY 912 945 { 946 CMemChecker::get("XIOS send field").resume(); 913 947 CTimer::get("XIOS").resume(); 914 948 CTimer::get("XIOS send field").resume(); … … 925 959 CTimer::get("XIOS send field").suspend(); 926 960 CTimer::get("XIOS").suspend(); 961 CMemChecker::get("XIOS send field").suspend(); 927 962 } 928 963 CATCH_DUMP_STACK … … 947 982 TRY 948 983 { 984 CMemChecker::get("XIOS send field").resume(); 949 985 CTimer::get("XIOS").resume(); 950 986 CTimer::get("XIOS recv field").resume(); … … 959 995 CTimer::get("XIOS recv field").suspend(); 960 996 CTimer::get("XIOS").suspend(); 961 } 997 CMemChecker::get("XIOS send field").suspend(); 998 } 962 999 CATCH_DUMP_STACK 963 1000 … … 975 1012 TRY 976 1013 { 1014 CMemChecker::get("XIOS send field").resume(); 977 1015 CTimer::get("XIOS").resume(); 978 1016 CTimer::get("XIOS recv field").resume(); … … 987 1025 CTimer::get("XIOS recv field").suspend(); 988 1026 CTimer::get("XIOS").suspend(); 1027 CMemChecker::get("XIOS send field").suspend(); 989 1028 } 990 1029 CATCH_DUMP_STACK … … 1002 1041 TRY 1003 1042 { 1043 CMemChecker::get("XIOS send field").resume(); 1004 1044 CTimer::get("XIOS").resume(); 1005 1045 CTimer::get("XIOS recv field").resume(); … … 1014 1054 CTimer::get("XIOS recv field").suspend(); 1015 1055 CTimer::get("XIOS").suspend(); 1056 CMemChecker::get("XIOS send field").suspend(); 1016 1057 } 1017 1058 CATCH_DUMP_STACK … … 1030 1071 TRY 1031 1072 { 1073 CMemChecker::get("XIOS send field").resume(); 1032 1074 CTimer::get("XIOS").resume(); 1033 1075 CTimer::get("XIOS recv field").resume(); … … 1042 1084 CTimer::get("XIOS recv field").suspend(); 1043 1085 CTimer::get("XIOS").suspend(); 1086 CMemChecker::get("XIOS send field").suspend(); 1044 1087 } 1045 1088 CATCH_DUMP_STACK … … 1060 1103 TRY 1061 1104 { 1105 CMemChecker::get("XIOS send field").resume(); 1062 1106 CTimer::get("XIOS").resume(); 1063 1107 CTimer::get("XIOS recv field").resume(); … … 1072 1116 CTimer::get("XIOS recv field").suspend(); 1073 1117 CTimer::get("XIOS").suspend(); 1118 CMemChecker::get("XIOS send field").suspend(); 1074 1119 } 1075 1120 CATCH_DUMP_STACK … … 1091 1136 TRY 1092 1137 { 1138 CMemChecker::get("XIOS send field").resume(); 1093 1139 CTimer::get("XIOS").resume(); 1094 1140 CTimer::get("XIOS recv field").resume(); … … 1103 1149 CTimer::get("XIOS recv field").suspend(); 1104 1150 CTimer::get("XIOS").suspend(); 1151 CMemChecker::get("XIOS send field").suspend(); 1105 1152 } 1106 1153 CATCH_DUMP_STACK … … 1122 1169 TRY 1123 1170 { 1171 CMemChecker::get("XIOS send field").resume(); 1124 1172 CTimer::get("XIOS").resume(); 1125 1173 CTimer::get("XIOS recv field").resume(); … … 1134 1182 CTimer::get("XIOS recv field").suspend(); 1135 1183 CTimer::get("XIOS").suspend(); 1184 CMemChecker::get("XIOS send field").suspend(); 1136 1185 } 1137 1186 CATCH_DUMP_STACK … … 1154 1203 TRY 1155 1204 { 1205 CMemChecker::get("XIOS send field").resume(); 1156 1206 CTimer::get("XIOS").resume(); 1157 1207 CTimer::get("XIOS recv field").resume(); … … 1166 1216 CTimer::get("XIOS recv field").suspend(); 1167 1217 CTimer::get("XIOS").suspend(); 1218 CMemChecker::get("XIOS send field").suspend(); 1168 1219 } 1169 1220 CATCH_DUMP_STACK … … 1189 1240 TRY 1190 1241 { 1242 CMemChecker::get("XIOS send field").resume(); 1191 1243 CTimer::get("XIOS").resume(); 1192 1244 CTimer::get("XIOS recv field").resume(); … … 1203 1255 CTimer::get("XIOS recv field").suspend(); 1204 1256 CTimer::get("XIOS").suspend(); 1257 CMemChecker::get("XIOS send field").suspend(); 1205 1258 } 1206 1259 CATCH_DUMP_STACK … … 1220 1273 TRY 1221 1274 { 1275 CMemChecker::get("XIOS send field").resume(); 1222 1276 CTimer::get("XIOS").resume(); 1223 1277 CTimer::get("XIOS recv field").resume(); … … 1234 1288 CTimer::get("XIOS recv field").suspend(); 1235 1289 CTimer::get("XIOS").suspend(); 1290 CMemChecker::get("XIOS send field").suspend(); 1236 1291 } 1237 1292 CATCH_DUMP_STACK … … 1252 1307 TRY 1253 1308 { 1309 CMemChecker::get("XIOS send field").resume(); 1254 1310 CTimer::get("XIOS").resume(); 1255 1311 CTimer::get("XIOS recv field").resume(); … … 1266 1322 CTimer::get("XIOS recv field").suspend(); 1267 1323 CTimer::get("XIOS").suspend(); 1324 CMemChecker::get("XIOS send field").suspend(); 1268 1325 } 1269 1326 CATCH_DUMP_STACK … … 1283 1340 TRY 1284 1341 { 1342 CMemChecker::get("XIOS send field").resume(); 1285 1343 CTimer::get("XIOS").resume(); 1286 1344 CTimer::get("XIOS recv field").resume(); … … 1297 1355 CTimer::get("XIOS recv field").suspend(); 1298 1356 CTimer::get("XIOS").suspend(); 1299 } 1357 CMemChecker::get("XIOS send field").suspend(); 1358 } 1300 1359 CATCH_DUMP_STACK 1301 1360 … … 1315 1374 TRY 1316 1375 { 1376 CMemChecker::get("XIOS send field").resume(); 1317 1377 CTimer::get("XIOS").resume(); 1318 1378 CTimer::get("XIOS recv field").resume(); … … 1329 1389 CTimer::get("XIOS recv field").suspend(); 1330 1390 CTimer::get("XIOS").suspend(); 1391 CMemChecker::get("XIOS send field").suspend(); 1331 1392 } 1332 1393 CATCH_DUMP_STACK … … 1350 1411 TRY 1351 1412 { 1413 CMemChecker::get("XIOS send field").resume(); 1352 1414 CTimer::get("XIOS").resume(); 1353 1415 CTimer::get("XIOS recv field").resume(); … … 1364 1426 CTimer::get("XIOS recv field").suspend(); 1365 1427 CTimer::get("XIOS").suspend(); 1428 CMemChecker::get("XIOS send field").suspend(); 1366 1429 } 1367 1430 CATCH_DUMP_STACK … … 1384 1447 TRY 1385 1448 { 1449 CMemChecker::get("XIOS send field").resume(); 1386 1450 CTimer::get("XIOS").resume(); 1387 1451 CTimer::get("XIOS recv field").resume(); … … 1398 1462 CTimer::get("XIOS recv field").suspend(); 1399 1463 CTimer::get("XIOS").suspend(); 1464 CMemChecker::get("XIOS send field").suspend(); 1400 1465 } 1401 1466 CATCH_DUMP_STACK … … 1420 1485 TRY 1421 1486 { 1487 CMemChecker::get("XIOS send field").resume(); 1422 1488 CTimer::get("XIOS").resume(); 1423 1489 CTimer::get("XIOS recv field").resume(); … … 1434 1500 CTimer::get("XIOS recv field").suspend(); 1435 1501 CTimer::get("XIOS").suspend(); 1436 } 1502 CMemChecker::get("XIOS send field").suspend(); 1503 } 1437 1504 CATCH_DUMP_STACK 1438 1505 -
XIOS2/trunk/src/interface/fortran/ixios.F90
r1849 r2428 38 38 ASSIGNMENT(=) 39 39 USE itimer, ONLY : xios(timer_resume), xios(timer_suspend), xios(timer_reset), xios(timer_get_time) 40 USE imem_checker, ONLY : xios(mem_checker_get), xios(mem_checker_log)Â 40 41 41 42 USE ifield, ONLY : txios(field), txios(fieldgroup), xios(is_valid_field), xios(is_valid_fieldgroup) -
XIOS2/trunk/src/io/netCdfInterface.cpp
r1639 r2428 10 10 #include "netCdfInterface.hpp" 11 11 #include "netCdfException.hpp" 12 #include "mem_checker.hpp" 12 13 13 14 namespace xios … … 22 23 int CNetCdfInterface::create(const StdString& fileName, int cMode, int& ncId) 23 24 { 25 CMemChecker::get("NetCDF create").resume(); 24 26 int status = nc_create(fileName.c_str(), cMode, &ncId); 25 27 if (NC_NOERR != status) … … 34 36 throw CNetCdfException(e); 35 37 } 36 38 CMemChecker::get("NetCDF create").suspend(); 39 37 40 return status; 38 41 } … … 49 52 int CNetCdfInterface::createPar(const StdString& fileName, int cMode, MPI_Comm comm, MPI_Info info, int& ncId) 50 53 { 54 CMemChecker::get("NetCDF create").resume(); 51 55 int status = xios::nc_create_par(fileName.c_str(), cMode, comm, info, &ncId); 52 56 if (NC_NOERR != status) … … 61 65 throw CNetCdfException(e); 62 66 } 67 CMemChecker::get("NetCDF create").suspend(); 63 68 64 69 return status; … … 74 79 int CNetCdfInterface::open(const StdString& fileName, int oMode, int& ncId) 75 80 { 81 CMemChecker::get("NetCDF open").resume(); 76 82 int status = nc_open(fileName.c_str(), oMode, &ncId); 77 83 if (NC_NOERR != status) … … 86 92 throw CNetCdfException(e); 87 93 } 88 94 CMemChecker::get("NetCDF open").suspend(); 95 89 96 return status; 90 97 } … … 102 109 int CNetCdfInterface::openPar(const StdString& fileName, int oMode, MPI_Comm comm, MPI_Info info, int& ncId) 103 110 { 111 CMemChecker::get("NetCDF open").resume(); 104 112 int status = xios::nc_open_par(fileName.c_str(), oMode, comm, info, &ncId); 105 113 if (NC_NOERR != status) … … 114 122 throw CNetCdfException(e); 115 123 } 124 CMemChecker::get("NetCDF open").suspend(); 116 125 117 126 return status; … … 125 134 int CNetCdfInterface::close(int ncId) 126 135 { 136 CMemChecker::get("NetCDF close").resume(); 127 137 int status = nc_close(ncId); 128 138 if (NC_NOERR != status) … … 136 146 throw CNetCdfException(e); 137 147 } 138 148 CMemChecker::get("NetCDF close").suspend(); 149 139 150 return status; 140 151 } … … 147 158 int CNetCdfInterface::reDef(int ncId) 148 159 { 160 CMemChecker::get("NetCDF other").resume(); 149 161 int status = nc_redef(ncId); 150 162 if (NC_NOERR != status) … … 158 170 throw CNetCdfException(e); 159 171 } 172 CMemChecker::get("NetCDF other").suspend(); 160 173 161 174 return status; … … 169 182 int CNetCdfInterface::endDef(int ncId) 170 183 { 184 CMemChecker::get("NetCDF other").resume(); 171 185 int status = nc_enddef(ncId); 172 186 if (NC_NOERR != status) … … 181 195 throw CNetCdfException(e); 182 196 } 197 CMemChecker::get("NetCDF other").suspend(); 183 198 184 199 return status; … … 773 788 int CNetCdfInterface::setFill(int ncid, bool fill) 774 789 { 790 CMemChecker::get("NetCDF other").resume(); 775 791 int old_fill_mode; 776 792 int status = nc_set_fill(ncid, fill ? NC_FILL: NC_NOFILL, &old_fill_mode); … … 786 802 throw CNetCdfException(e); 787 803 } 804 CMemChecker::get("NetCDF other").suspend(); 788 805 789 806 return status; … … 801 818 int CNetCdfInterface::defVarFill(int ncid, int varId, int noFill, void* fillValue) 802 819 { 820 CMemChecker::get("NetCDF other").resume(); 803 821 int status = nc_def_var_fill(ncid, varId, noFill, fillValue); 804 822 if (NC_NOERR != status) … … 814 832 throw CNetCdfException(e); 815 833 } 834 CMemChecker::get("NetCDF other").suspend(); 816 835 817 836 return status; … … 829 848 int CNetCdfInterface::varParAccess(int ncid, int varId, int access) 830 849 { 850 CMemChecker::get("NetCDF other").resume(); 831 851 int status = nc_var_par_access(ncid, varId, access); 832 852 if (NC_NOERR != status) … … 841 861 throw CNetCdfException(e); 842 862 } 863 CMemChecker::get("NetCDF other").suspend(); 843 864 844 865 return status; … … 852 873 int CNetCdfInterface::sync(int ncid) 853 874 { 875 CMemChecker::get("NetCDF other").resume(); 854 876 int status = nc_sync(ncid); 855 877 if (NC_NOERR != status) … … 864 886 throw CNetCdfException(e); 865 887 } 888 CMemChecker::get("NetCDF other").suspend(); 866 889 867 890 return status; -
XIOS2/trunk/src/io/netCdfInterface_impl.hpp
r1158 r2428 13 13 #include "netCdfInterface.hpp" 14 14 #include "netCdfException.hpp" 15 #include "mem_checker.hpp" 15 16 16 17 namespace xios … … 28 29 int CNetCdfInterface::getAttType(int ncid, int varId, const StdString& attrName, T* data) 29 30 { 31 CMemChecker::get("NetCDF get/put").resume(); 30 32 int status = ncGetAttType(ncid, varId, attrName.c_str(), data); 31 33 if (NC_NOERR != status) … … 39 41 throw CNetCdfException(sstr.str()); 40 42 } 43 CMemChecker::get("NetCDF get/put").suspend(); 41 44 42 45 return status; … … 57 60 StdSize numVal, const T* data) 58 61 { 62 CMemChecker::get("NetCDF get/put").resume(); 59 63 int status = ncPutAttType(ncid, varId, attrName.c_str(), numVal, data); 60 64 if (NC_NOERR != status) … … 69 73 throw CNetCdfException(sstr.str()); 70 74 } 75 CMemChecker::get("NetCDF get/put").suspend(); 71 76 72 77 return status; … … 85 90 int CNetCdfInterface::getVaraType(int ncid, int varId, const StdSize* start, const StdSize* count, T* data) 86 91 { 92 CMemChecker::get("NetCDF get/put").resume(); 87 93 int status = ncGetVaraType(ncid, varId, start, count, data); 88 94 if (NC_NOERR != status) … … 96 102 throw CNetCdfException(sstr.str()); 97 103 } 104 CMemChecker::get("NetCDF get/put").suspend(); 98 105 99 106 return status; … … 112 119 int CNetCdfInterface::putVaraType(int ncid, int varId, const StdSize* start, const StdSize* count, const T* data) 113 120 { 121 CMemChecker::get("NetCDF get/put").resume(); 114 122 int status = ncPutVaraType(ncid, varId, start, count, data); 115 123 if (NC_NOERR != status) … … 123 131 throw CNetCdfException(sstr.str()); 124 132 } 125 133 CMemChecker::get("NetCDF get/put").suspend(); 134 126 135 return status; 127 136 } -
XIOS2/trunk/src/node/context.cpp
r2253 r2428 15 15 #include "xios_spl.hpp" 16 16 #include "timer.hpp" 17 #include "mem_checker.hpp" 17 18 #include "memtrack.hpp" 18 19 #include <limits> … … 701 702 TRY 702 703 { 704 CMemChecker::logMem( "CContext::closeDefinition" ); 703 705 CTimer::get("Context : close definition").resume() ; 704 706 postProcessingGlobalAttributes(); … … 729 731 } 730 732 CTimer::get("Context : close definition").suspend() ; 733 CMemChecker::logMem( "CContext::closeDefinition_END" ); 731 734 } 732 735 CATCH_DUMP_ATTR … … 1976 1979 garbageCollector.invalidate(calendar->getCurrentDate()); 1977 1980 } 1981 CMemChecker::logMem( "CContext::updateCalendar_"+std::to_string(step) ); 1978 1982 } 1979 1983 else if (prevStep == step) -
XIOS2/trunk/src/server.cpp
r2029 r2428 13 13 #include "tracer.hpp" 14 14 #include "timer.hpp" 15 #include "mem_checker.hpp" 15 16 #include "event_scheduler.hpp" 16 17 #include "string_tools.hpp" … … 423 424 MPI_Comm_free(&intraComm); 424 425 426 CMemChecker::logMem( "CServer::finalize", true ); 425 427 if (!is_MPI_Initialized) 426 428 { … … 432 434 report(0)<<"Performance report : Ratio : "<<CTimer::get("Process events").getCumulatedTime()/CTimer::get("XIOS server").getCumulatedTime()*100.<<"%"<<endl ; 433 435 report(100)<<CTimer::getAllCumulatedTime()<<endl ; 436 report(100)<<CMemChecker::getAllCumulatedMem()<<endl ; 434 437 } 435 438
Note: See TracChangeset
for help on using the changeset viewer.