<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic The nnz of sparse matrix is in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184399#M29490</link>
    <description>&lt;P&gt;The nnz of sparse matrix is about 1 million to 2 million, the return of&amp;nbsp;max(iparm[14],&amp;nbsp;iparm[15]+iparm[16])&amp;nbsp; is about 0.5 GB. It is smaller than actual one because I used multiple right-hand-side. Anyway, the problem is solved now and thank you for your response!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 16 May 2020 14:54:38 GMT</pubDate>
    <dc:creator>sun__shuzhan</dc:creator>
    <dc:date>2020-05-16T14:54:38Z</dc:date>
    <item>
      <title>PARDISO randomly crashes if limit the memory usage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184394#M29485</link>
      <description>&lt;P style="margin-left:0in; margin-right:0in"&gt;Hi,&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;If I run the compiled bin exe at head node without limiting the num of CPUs and amount of memory, PARDISO can run through and give correct results at Linux server. Also, running at Windows system, the code always works. However, PARDISO randomly crashes if I limit the memory usage with qsub at Linux server (see runCWNLAT.sub below). The crashes happed without error sign, so PARDISO will not return any error information. Pls help me check what might be the reason?&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;In my code, I used C++ code to call some functions from Fortran code. In one execution, PARDISO will be called many times. PARDISO in called in Fortran code. The simple Fortran code calling PARDISO is:&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;…&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;! Init or set PARDISO parameters&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maxfct = 1&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mnum = 1&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mtype = 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! complex and symmetric matrix&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phase = 13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! analysis, numerical factorization, solve, iterative refinement&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nrhs = n_recei + 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! number of right-hand sides that need to be solved for&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msglvl = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! if msglvl=1, print statistical information&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; error = 0&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call pardisoinit(pt, mtype, iparm)&amp;nbsp; ! init pardiso with default parameters in accordance with the matrix type&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;iparm(4) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! no iterative solver, use direct algorithm&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(28) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! use type double precision "double complex" instead of "complex"&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iparm(35) = 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! one-based indexing (Fortran-style indexing)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;! Solve A*u = f with mkl PARDISO&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call pardiso(pt, maxfct, mnum, mtype, phase, &amp;amp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; n_totNodes, &amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! num of rows of A, ~ num of equations in A*u = f&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; csrA_vals, csrA_rows, csrA_cols, &amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! CSR3 A&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; perm, nrhs, iparm, msglvl, &amp;amp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp; f, &amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! right-hand side vector/matrix&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; u, &amp;amp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! solution vector/matrix&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;amp; error)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (error /= 0) then&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write(6,*) 'ERROR during PARDISO backslash! Error = ', error&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stop "*** ERROR during PARDISO backslash! ***"&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; endif&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; phase = -1&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call pardiso(pt, maxfct, mnum, mtype, phase, n_totNodes, dummy, csrA_rows, csrA_cols, perm, nrhs, iparm, msglvl, dummy, dummy, error)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;…&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;The matrix A above is sparse complex symmetric matrix. A’s number of nonzeros is about 1 million to 2 million. I tested the peak memory usage during the execution is about 3 GB, but PARDISO crashes even though I assign 16 GB memory at the server.&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;In makefile, I first compile C++ or Fortran source code to object, then link them together. Here are the details:&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Operating system and version&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;-bash-4.1$ lsb_release -a&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;LSB Version:&amp;nbsp;&amp;nbsp;&amp;nbsp; :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Distributor ID: RedHatEnterpriseServer&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Description:&amp;nbsp;&amp;nbsp;&amp;nbsp; Red Hat Enterprise Linux Server release 6.3 (Santiago)&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Release:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.3&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Codename:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Santiago&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Library version: mkl_compser_xe_2013&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;-bash-4.1$ echo $MKLROOT&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;/usr/opt/intel/composer_xe_2013.1.117/mkl&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Compiler version&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;-bash-4.1$ ifort -v&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;ifort version 13.0.1&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;GNU Compiler Collection (GCC)* or Microsoft Visual Studio* version (if applicable)&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;-bash-4.1$ g++ -v&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Using built-in specs.&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;COLLECT_GCC=g++&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;COLLECT_LTO_WRAPPER=/sb/gcc-5.2.0/libexec/gcc/x86_64-unknown-linux-gnu/5.2.0/lto-wrapper&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Target: x86_64-unknown-linux-gnu&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Configured with: /sb/objdir/../gcc-5.2.0/configure --prefix=/sb/gcc-5.2.0 --enable-languages=c,c++,fortran,go --disable-multilib&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Thread model: posix&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;gcc version 5.2.0 (GCC)&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Steps to reproduce the error (include makefiles, command lines, small test cases, and build instructions)&lt;/LI&gt;&lt;/UL&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;Makefile:&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;SRCFDIR = $(realpath ./)/src_Fortran&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;SRCCDIR = $(realpath ./)/src_Cpp_cw5&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;OBJDIR = $(realpath ./)/obj&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;MKDIR = if [ ! -d $(@D) ]; then mkdir -p $(@D); fi&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;PROGRAM=cw5&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;ARCH = $(shell uname -m)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;TARGET = ${PROGRAM}.${ARCH}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#include Makefile.${ARCH}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;CPPC&amp;nbsp;&amp;nbsp;&amp;nbsp; = g++&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;FC_SEQ&amp;nbsp; = ifort&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;FC_PAR&amp;nbsp; = ifort&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;FC_LINK = ifort&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;MKL_LINK_FLAGS =-L$(MKLROOT)/lib/intel64&amp;nbsp; -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread -lm&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#Begin Optimized options&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;CPP_FLAGS&amp;nbsp;&amp;nbsp;&amp;nbsp; = -std=c++17&amp;nbsp; -mcmodel=large -w&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;F_SEQ_FLAGS&amp;nbsp; = -O3 -shared-intel&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;F_PAR_FLAGS&amp;nbsp; = -O3 -shared-intel&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;F_LINK_FLAGS = -O3 -static-intel -cxxlib -lrt&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#End Optimized options&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;C_MAIN &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = cw5.cpp&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;F_SRCS &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dcwnlatg4.f&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;F90_SRCS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = dcwnlatf4.f90&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;OBJS&amp;nbsp;&amp;nbsp;&amp;nbsp; = $(OBJDIR)/${C_MAIN:.cpp=.o} $(OBJDIR)/${F_SRCS:.f=.o} $(OBJDIR)/${F90_SRCS:.f90=.o}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;all: ${TARGET} CWNLAT&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# ********* First Program: cw5 ************ #&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#${TARGET}: ${OBJS}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(FC_LINK) -o $@ $(F_LINK_FLAGS) ${OBJS}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;${TARGET}: ${OBJS}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(FC_LINK) $(F_LINK_FLAGS) -nofor_main -o $@ ${OBJS} $(MKL_LINK_FLAGS)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;$(OBJDIR)/dcwnlatg4.o : $(SRCFDIR)/${F_SRCS}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @$(MKDIR)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(FC_PAR) $(F_PAR_FLAGS) -o $(OBJDIR)/dcwnlatg4.o -c $(SRCFDIR)/${F_SRCS}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;$(OBJDIR)/dcwnlatf4.o : $(SRCFDIR)/${F90_SRCS}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @$(MKDIR)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(FC_PAR) $(F_PAR_FLAGS) -o $(OBJDIR)/dcwnlatf4.o -c $(SRCFDIR)/${F90_SRCS}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;$(OBJDIR)/cw5.o : $(SRCCDIR)/${C_MAIN}&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @$(MKDIR)&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(CPPC) $(CPP_FLAGS) -o $(OBJDIR)/cw5.o -c $(SRCCDIR)/${C_MAIN} -lrt&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# ********* Second Program CWNLAT ************ #&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;CWNLAT : $(SRCFDIR)/runCWNLAT.f&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(FC_SEQ) $(F_SEQ_FLAGS) -o CWNLAT $(SRCFDIR)/runCWNLAT.f&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;.PHONY: clean cleanall&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;clean:&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm $(OBJS) CWNLAT&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;cleanall:&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rm $(OBJS) *~&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0.5in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;runCWNLAT.sub used for qsub:&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# Tell PBS which shell to use on the compute nodes Options are: /bin/bash or /bin/tcsh&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#PBS -S /bin/bash&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# Tell PBS the name to use for your job&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#PBS -N runCWNLAT&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# request #nodes:#cpus/node:#memory/node,requested time&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#PBS -l select=1:ncpus=8:mem=16gb,walltime=00:04:00&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# queue group&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#PBS -q normal&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# Tell PBS to join the output (.o) and error (.e) files into one file&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;#PBS -j oe&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# *********** Commands **********#&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# Tell PBS to run the job in the directory your job was submitted from&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;cd $PBS_O_WORKDIR&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;# Set up env for Intel MKL&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;source /opt/intel/bin/ifortvars.sh intel64&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;./CWNLAT ENmodel_33.DAT&lt;/P&gt;&lt;P style="margin-left:0in; margin-right:0in"&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 May 2020 15:51:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184394#M29485</guid>
      <dc:creator>sun__shuzhan</dc:creator>
      <dc:date>2020-05-12T15:51:13Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt; 1 million to 2 million. I</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184395#M29486</link>
      <description>&lt;P&gt;&amp;gt;&amp;gt; 1 million to 2 million. I tested the peak memory usage during the execution is about 3 GB, but PARDISO crashes even though I assign 16 GB memory at the server.&lt;/P&gt;&lt;P&gt;You are trying to solve a pretty big problem and 16 Gb is not enough to allocate solver's factors. Please check what iparm[16] will return when you run the code w/o memory limitations..... and then adjust your memory settings by iparm[16] + iparm[14] values&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 May 2020 04:54:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184395#M29486</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-05-14T04:54:35Z</dc:date>
    </item>
    <item>
      <title>and one more note - it would</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184396#M29487</link>
      <description>&lt;P&gt;and one more note - it would much better if you will share the sample&amp;nbsp;of such long code as an attachment. It would much easier to read the message.&lt;/P&gt;</description>
      <pubDate>Thu, 14 May 2020 04:57:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184396#M29487</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-05-14T04:57:23Z</dc:date>
    </item>
    <item>
      <title>Hi Gennady,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184397#M29488</link>
      <description>&lt;P&gt;Hi Gennady,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your reply!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tested the memory output from iparm[16] and [14], they gave about 0.5 GB memory. I have used function "getrusage" to detect the memory and the peak memory is still &amp;lt; 3 GB.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Later, I found the crash is from a&amp;nbsp;known bug at old version of PARDISO, which is not fixed until MKL 2017 version. The bug is at the&amp;nbsp;nested dissection algorithm from the METIS package. So, I avoid the bug by setting iparm[2] = 0 instead of default iparm[2] = 2, then all testings are OK now!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 May 2020 21:28:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184397#M29488</guid>
      <dc:creator>sun__shuzhan</dc:creator>
      <dc:date>2020-05-14T21:28:13Z</dc:date>
    </item>
    <item>
      <title>That's pretty strange for</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184398#M29489</link>
      <description>&lt;P&gt;That's pretty strange for such big input problem sizes. What is the number of nnz which is returned by iparm[17]?&amp;nbsp;&lt;/P&gt;&lt;P&gt;and what is the total memory consumed by mkl pardiso:&amp;nbsp;max(iparm[14],&amp;nbsp;iparm[15]+iparm[16]) ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 May 2020 07:18:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184398#M29489</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2020-05-15T07:18:39Z</dc:date>
    </item>
    <item>
      <title>The nnz of sparse matrix is</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184399#M29490</link>
      <description>&lt;P&gt;The nnz of sparse matrix is about 1 million to 2 million, the return of&amp;nbsp;max(iparm[14],&amp;nbsp;iparm[15]+iparm[16])&amp;nbsp; is about 0.5 GB. It is smaller than actual one because I used multiple right-hand-side. Anyway, the problem is solved now and thank you for your response!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 16 May 2020 14:54:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/PARDISO-randomly-crashes-if-limit-the-memory-usage/m-p/1184399#M29490</guid>
      <dc:creator>sun__shuzhan</dc:creator>
      <dc:date>2020-05-16T14:54:38Z</dc:date>
    </item>
  </channel>
</rss>

