[petsc-users] SUPERLU_DIST in single precision

Barry Smith bsmith at petsc.dev
Mon Aug 3 20:49:16 CDT 2020


  For the first case do

   rm -rf arch-ci-linux-intel-mkl-single

   looks like there might be some outdated material in that directory causing the problem.

  For the second and third I see in superlu_defs.h 

#ifdef __INTEL_COMPILER
#include "mkl.h"

  hence the use of Intel compiler requires MKL. But your configuration doesn't find the location of the MKL include files. I'm working on the general fix.







> On Aug 3, 2020, at 10:45 AM, flw at rzg.mpg.de wrote:
> 
> Hi Barry,
> Thanks for the branch (and thanks to Sherry as well). I tried to use the configure example " arch-ci-linux-intel-mkl-single.py" (adding the --with-batch flag, since I am running on a cluster), but I get the following error message:
> TESTING: check from config.libraries(config/BuildSystem/config/libraries.py:157)                                                                                                                                                              *******************************************************************************
>         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
> -------------------------------------------------------------------------------
> Downloaded ptscotch could not be used. Please check install in /u/flw/petsc-hash-pkgs/073aec050
> 
> (see configure1.log)
> 
> Next I tried a minimalistic version using Intel MPI compilers:
> ./configure --download-superlu_dist --download-metis --download-parmetis --download-ptscotch  --with-precision=single --with-batch --with-fc=mpiifort --with-cc=mpiicc --with-cxx=mpiicpc
> 
> There I got the following error:
> ===============================================================================                                                                                                                                                                     Compiling and installing SUPERLU_DIST; this may take several minutes                                                                                                                                                                    ===============================================================================                                                                                                                                                                                                                                                                                                                                                                                                             *******************************************************************************
>         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
> -------------------------------------------------------------------------------
> Error running make on  SUPERLU_DIST
> 
> (see configure2.log)
> 
> 
> Next I tried
> ./configure --download-superlu_dist --download-metis --download-parmetis --download-ptscotch  --with-precision=single --with-batch --with-mpi-dir=/mpcdf/soft/SLE_12/packages/x86_64/intel_parallel_studio/2018.4/impi/2018.4.274/intel64
> 
> Same error message (see configure3.log)
> 
> 
> It seems that there is something going on with mkl in case I want to use Intel compilers for C and C++ (compiling with gcc and g++ seems to work )
> 
> Do you know what is going on there?  (I am running on the Draco cluster, if that helps (https://www.mpcdf.mpg.de/services/computing/draco))
> 
> 
> Best regards,
> Felix
> 
> Zitat von Barry Smith <bsmith at petsc.dev>:
> 
>> Felix,
>> 
>>    The branch is ready. Just use
>> 
>>    git checkout barry/2020-07-28/superlu_dist-single
>>  ./configure --download-superlu_dist --download-metis --download-parmetis --download-ptscotch  --with-precision=single  and whatever else you use
>> 
>>  Barry
>> 
>>  It will automatically get the needed branch of SuperLU_DIST that Sherry prepared.
>> 
>> 
>>> On Jul 27, 2020, at 2:10 PM, flw at rzg.mpg.de wrote:
>>> 
>>> Hi Shery,
>>> Yes, ideally we would like to compile PETSc in single precision and simply run a single precision version of SUPERLU_DIST just like e.g. MUMPS.
>>> 
>>> Best regards and thanks,
>>> Felix
>>> Zitat von "Xiaoye S. Li" <xsli at lbl.gov>:
>>> 
>>>> Barry,
>>>> 
>>>> I have a branch 'Mixed-precision' working with single precision FP32. I
>>>> assume Felix wants to use superlu_dist from petsc.  How do you want to
>>>> incorporate it in petsc?
>>>> 
>>>> https://github.com/xiaoyeli/superlu_dist
>>>> 
>>>> PS1:  in this version, FP32 only works on CPU.  FP64 and complex-FP64 all
>>>> work on GPU.
>>>> 
>>>> PS2: currently there is no mixed-precision yet, but it is the branch we are
>>>> adding mix-prec support.  Will take a while before merging to master.
>>>> 
>>>> Sherry
>>>> 
>>>> 
>>>> On Wed, Jul 22, 2020 at 6:04 AM <flw at rzg.mpg.de> wrote:
>>>> 
>>>>> Hi Barry,
>>>>> for now I just want to run everything in single on CPUs only with
>>>>> SUPERLU_DIST. Maybe we will also incorporate GPUs in the future, but
>>>>> there are no immediate plans yet. So if you could provide the support,
>>>>> that would be awesome.
>>>>> 
>>>>> Best regards,
>>>>> Felix
>>>>> 
>>>>> Zitat von Barry Smith <bsmith at petsc.dev>:
>>>>> 
>>>>> > Felix,
>>>>> >
>>>>> >     What are your needs, do you want this for CPUs or for GPUs?  Do
>>>>> > you wish to run all your code in single precision or just the
>>>>> > SuperLU_Dist solver while the rest of your code double?
>>>>> >
>>>>> >     If you want to run everything on CPUs using single precision
>>>>> > then adding the support is very easy, we can provide that for you
>>>>> > any time. The other cases will require more thought.
>>>>> >
>>>>> >     Barry
>>>>> >
>>>>> >
>>>>> >> On Jul 21, 2020, at 8:58 AM, flw at rzg.mpg.de wrote:
>>>>> >>
>>>>> >> Dear PETSc support team,
>>>>> >> some time ago you told me that you are planning on releasing a
>>>>> >> version that supports SUPERLU_DIST in single-precision soon. Can
>>>>> >> you tell me roughly what time frame you had in mind?
>>>>> >>
>>>>> >> Best regards,
>>>>> >> Felix
>>>>> >>
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>> 
>>> 
>>> 
> 
> 
> <configure1.log><configure2.log><configure3.log>



More information about the petsc-users mailing list