[Darshan-commits] [Git][darshan/darshan][autoperf-mod-update] introduce configure option for collectives sync apmpi

Sudheer Chunduri xgitlab at cels.anl.gov
Sun Feb 7 13:32:00 CST 2021



Sudheer Chunduri pushed to branch autoperf-mod-update at darshan / darshan


Commits:
94c99a01 by Sudheer Chunduri at 2021-02-07T19:31:10+00:00
introduce configure option for collectives sync apmpi

- - - - -


9 changed files:

- darshan-runtime/configure.in
- darshan-runtime/darshan-runtime-config.h.in
- darshan-util/darshan-logutils.c
- darshan-util/pydarshan/darshan/discover_darshan.py
- darshan-util/pydarshan/darshan/report.py
- darshan-util/pydarshan/examples/01_darshan-introduction.ipynb
- darshan-util/pydarshan/examples/02_darshan-plotting-matplotlib.ipynb
- darshan-util/pydarshan/examples/99-graph-visualization.ipynb
- darshan-util/pydarshan/examples/99_darshan-experimental.ipynb


Changes:

=====================================
darshan-runtime/configure.in
=====================================
@@ -229,10 +229,18 @@ AS_IF([test "x$enable_autoperf_apmpi" = "xno" || test "x$ENABLE_MPI" = "x"],
       BUILD_APMPI_MODULE=
       AUTOPERF_APMPI_LD_OPTS=)
 
+AC_ARG_ENABLE(apmpi-coll-sync,
+[  --enable-apmpi-coll-sync
+                          Enable sync time calculation for MPI collectives],
+[if test "x$enableval" = "xyes" ; then
+    AC_DEFINE(__APMPI_COLL_SYNC, 1, Define if APMPI should enable sync time calculation for MPI collectives)
+fi]
+,)
+
 #AUTOPERF APXC module
 AC_ARG_ENABLE(autoperf-apxc,
               AS_HELP_STRING([--disable-autoperf-apxc], [Disables compilation and use of AUTOPERF APXC module (requires MPI)]))
-AS_IF([test "x$enable_autoperf_apmpi" = "xno" || test "x$ENABLE_MPI" = "x"],
+AS_IF([test "x$enable_autoperf_apxc" = "xno" || test "x$ENABLE_MPI" = "x"],
       )
 
 # HDF5 module (disabled by default)


=====================================
darshan-runtime/darshan-runtime-config.h.in
=====================================
@@ -111,6 +111,9 @@
 # endif
 #endif
 
+/* Define if APMPI should enable sync time calculation for MPI collectives */
+#undef __APMPI_COLL_SYNC
+
 /* Define if cuserid() should be disabled */
 #undef __DARSHAN_DISABLE_CUSERID
 


=====================================
darshan-util/darshan-logutils.c
=====================================
@@ -373,6 +373,11 @@ int darshan_log_get_exe(darshan_fd fd, char *buf)
     return (0);
 }
 
+int darshan_get_node_name(char p[128], char buf[128]) {
+    printf("debug: ... %s\n", p);
+    return sprintf(buf, "%s", p);
+}
+
 /* darshan_log_put_exe()
  *
  * wrties the application exe name to darshan log file


=====================================
darshan-util/pydarshan/darshan/discover_darshan.py
=====================================
@@ -146,6 +146,7 @@ def find_utils(ffi, libdutil):
         libdutil: reference to libdutil to populate
 
     """
+    libdutil = ffi.dlopen("/projects/Performance/chunduri/Software/Temp/build/darshan-util/install/lib/libdarshan-util.so")
     if libdutil is None:
         try:
             libdutil = ffi.dlopen("libdarshan-util.so")
@@ -180,7 +181,7 @@ def find_utils(ffi, libdutil):
             os.chdir(save)
         except:
             libdutil = None
-
+    
     if libdutil is None:
         try:
             darshan_path = discover_darshan_pyinstaller()
@@ -195,7 +196,7 @@ def find_utils(ffi, libdutil):
             libdutil = None
   
     
-
+    
     if libdutil is None:
         raise RuntimeError('Could not find libdarshan-util.so! Is darshan-util installed? Please ensure one of the the following: 1) export LD_LIBRARY_PATH=<path-to-libdarshan-util.so>, or 2) darshan-parser can found using the PATH variable, or 3) pkg-config can resolve pkg-config --path darshan-util, or 4) install a wheel that includes darshan-utils via pip.')
 


=====================================
darshan-util/pydarshan/darshan/report.py
=====================================
@@ -530,7 +530,6 @@ class DarshanReport(object):
                 'counters': combined_c,
                 }]
 
-
         pass
 
 


=====================================
darshan-util/pydarshan/examples/01_darshan-introduction.ipynb
=====================================
The diff for this file was not included because it is too large.

=====================================
darshan-util/pydarshan/examples/02_darshan-plotting-matplotlib.ipynb
=====================================
@@ -12,14 +12,46 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 6,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "ename": "ModuleNotFoundError",
+     "evalue": "No module named 'darshan'",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
+      "\u001b[0;32m<ipython-input-6-4db608da4e5d>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mdarshan\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mdarshan\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable_experimental\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'darshan'"
+     ]
+    }
+   ],
    "source": [
     "import darshan\n",
     "darshan.enable_experimental()"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 5,
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "/lus/theta-fs0/projects/Performance/chunduri/Software/Temp/darshan/darshan-util/pydarshan/examples\r\n"
+     ]
+    }
+   ],
+   "source": [
+    "#!cd /projects/Performance/chunduri/Software/Temp/darshan/darshan-util/pydarshan/\n",
+    "!cd ..\n",
+    "!pwd\n",
+    "#!python ../setup.py install --user\n"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 5,
@@ -221,7 +253,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.10"
+   "version": "3.7.4"
   }
  },
  "nbformat": 4,


=====================================
darshan-util/pydarshan/examples/99-graph-visualization.ipynb
=====================================
@@ -15,29 +15,37 @@
    "cell_type": "code",
    "execution_count": 1,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "/lus/theta-fs0/projects/Performance/chunduri/Software/Temp/darshan/darshan-util/pydarshan/examples\n",
+      "/lus/theta-fs0/projects/Performance/chunduri/Software/Temp/darshan/darshan-util/pydarshan\n",
+      "/lus/theta-fs0/projects/Performance/chunduri/Software/Temp/darshan/darshan-util/pydarshan\n"
+     ]
+    }
+   ],
    "source": [
+    "!pwd\n",
+    "%cd ..\n",
+    "!pwd\n",
     "import darshan\n",
     "darshan.enable_experimental()"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['darshan-graph/pq_app_read_id71317_7-31-5657-2037904274838284930_55623.darshan',\n",
-       " 'darshan-graph/pq_app_read_id71344_7-31-5658-2037904274838284930_55623.darshan',\n",
-       " 'darshan-graph/pq_app_write_id71303_7-31-5657-2037904274838284930_55623.darshan',\n",
-       " 'darshan-graph/pq_app_write_id71310_7-31-5657-2037904274838284930_55623.darshan',\n",
-       " 'darshan-graph/pq_app_write_id71296_7-31-5657-2037904274838284930_55623.darshan',\n",
-       " 'darshan-graph/pq_app_readAB_writeC_id71326_7-31-5658-2037904274838284930_55623.darshan']"
+       "[]"
       ]
      },
-     "execution_count": 2,
+     "execution_count": 3,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -45,7 +53,7 @@
    "source": [
     "# find relevant darshan logs\n",
     "import glob\n",
-    "darshan_logs = glob.glob(\"darshan-graph/*.darshan\")\n",
+    "darshan_logs = glob.glob(\"examples/sdarshan-graph/*.darshan\")\n",
     "darshan_logs"
    ]
   },
@@ -58,7 +66,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -444,7 +452,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.10"
+   "version": "3.7.4"
   }
  },
  "nbformat": 4,


=====================================
darshan-util/pydarshan/examples/99_darshan-experimental.ipynb
=====================================
@@ -25,21 +25,14 @@
    "metadata": {},
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Added method create_time_summary to DarshanReport.\n",
-      "Added method print_module_records to DarshanReport.\n",
-      "Added method summarize to DarshanReport.\n",
-      "Added method merge to DarshanReport.\n",
-      "Added method create_timeline to DarshanReport.\n",
-      "Added method records_as_dict to DarshanReport.\n",
-      "Added method reduce to DarshanReport.\n",
-      "Added method agg_ioops to DarshanReport.\n",
-      "Added method create_sankey to DarshanReport.\n",
-      "Added method filter to DarshanReport.\n",
-      "Added method mod_agg_iohist to DarshanReport.\n",
-      "Added method name_records_summary to DarshanReport.\n"
+     "ename": "ModuleNotFoundError",
+     "evalue": "No module named 'darshan'",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
+      "\u001b[0;32m<ipython-input-2-7f8bd811d6e4>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mdarshan\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0mdarshan\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable_experimental\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+      "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'darshan'"
      ]
     }
    ],
@@ -191,7 +184,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.6.10"
+   "version": "3.7.4"
   }
  },
  "nbformat": 4,



View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/-/commit/94c99a01a5098ce09fc4e5a54238b606e93581e2

-- 
View it on GitLab: https://xgitlab.cels.anl.gov/darshan/darshan/-/commit/94c99a01a5098ce09fc4e5a54238b606e93581e2
You're receiving this email because of your account on xgitlab.cels.anl.gov.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-commits/attachments/20210207/62b5e246/attachment-0001.html>


More information about the Darshan-commits mailing list