Coder Social home page Coder Social logo

superlu_mt's People

Contributors

adimatam avatar fweimer-rh avatar jschueller avatar xiaoyeli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

superlu_mt's Issues

Release recent changes?

Description

Hi!
I would like to know how to map the releases listed at https://portal.nersc.gov/project/sparse/superlu/ and this repo. Maybe it would be possible to tag commits, at least for the latest version?

There are also quite a few commits merged on master since v3.1 in 2016.
Is there a chance to cut a release with recent changes?

Thanks!

Memory leak

Trying to run on Windows and when try the test

pdlinsolx -p [nprocs] < big.rua

get a "HEAP CORRUPTION DETECTED:" message.

Debugging through code, the problem seems to be in cholnzcnt.c line 243
should also check that parent does not exceed bounds of colcnt; that is

if ((parent !=0) && (parent < neqns))

Memory allocation failed in SuperLU_MT?

I am using the SuperLU_MT and the code from pdrepeat.c (https://github.com/xiaoyeli/superlu_mt/blob/master/EXAMPLE/pdrepeat.c). In this code the function dreadhb(&m, &n, &nnz, &a, &asub, &xa); is used. My matrix format is CRS and transform it into CCS by dCompRow_to_CompCol(m, n, nnz,
const_cast<double*>(_sk.data()), const_cast<int_t*>(_ik.data()), const_cast<int_t*>(_id.data()),
&a, &asub, &xa);
And then use the dCreate_CompCol_Matrix(&A, m, n, nnz, a, asub, xa, SLU_NC, SLU_D, SLU_GE); to create the Supermatrix A.

When I run the code, it gives me the following error:

** On entry to sp_ienv, parameter number 1 had an illegal value Storage for L subscripts exceeded; Current column 0; Need at least 72; You may set it by the 8-th parameter in routine sp_ienv(). Memory allocation failed at line 222 in file pmemory.c

Any suggestions about this to handle the error?

how to install SuperLU_MT on windows

Hi, I try to install SuperLU_MT on windows with visual studio following your instructions on this webpage https://portal.nersc.gov/project/sparse/superlu/faq.html#windows. But it does not work and I got the following errors. Could you please help me to fix these errors? thanks

Severity Code Description Project File Line Suppression State
Error (active) E0393 pointer to incomplete class type "struct timeval" is not allowed SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 72
Error (active) E1696 cannot open source file "sys/time.h" SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 47
Error (active) E1696 cannot open source file "sys/times.h" SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 46
Error (active) E1696 cannot open source file "unistd.h" SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 48
Error (active) E0020 identifier "_SC_CLK_TCK" is undefined SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 58
Error (active) E3365 incomplete class type "struct tms" is not allowed SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 61
Error (active) E3365 incomplete class type "struct tms" is not allowed SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 62
Error (active) E0070 incomplete type is not allowed SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 56
Error (active) E0070 incomplete type is not allowed SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 79
Error (active) E0070 incomplete type is not allowed SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 80
Error (active) E0393 pointer to incomplete class type "struct timeval" is not allowed SuperLU_MT C:\Installed-Libs\superlu_mt_3.1\SRC\dclock.c 71

Compiling and running on Apple Silicon M1 chip causes openmp error

Hi, I have successfully compiled, linked and run superlu_mt on a Mac Intel x86_64 machine. When I do the same on a Mac Silicon M1 arm64 machine, I get a runtime error "OMP: Error #132: Thread identifier invalid." I am linking to Homebrew's libomp, which does not give me trouble with other compiled codes on M1 arm64. Any suggestions on how to fix this? Thanks. Gerard

libblas_OPENMP.a no such file or dierecory

Hello , sorry to trouble, i make the CBLAS subfolder , get this error blew, clould u help?

ar cr ../lib/libblas_OPENMP.a isamax.o sasum.o saxpy.o scopy.o sdot.o snrm2.o srot.o sscal.o
sgemv.o ssymv.o strsv.o sger.o ssyr2.o
ar: ../lib/libblas_OPENMP.a: No such file or directory
make: *** [Makefile:67: single] Error 1

sreadmt.c:29:1: error: conflicting types

Hi all.

superlu_mt-4.0.1 is failing with GCC-14 with following errors:

gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wl,-z,relro -Wl,--as-needed  -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes  -lgomp -lflexiblas64 -fPIC -D__OPENMP -DPRNTlevel=0 -DDEBUGlevel=0 -D_LONGINT -DAdd_  -L/usr/lib64 -lflexiblas64 -c sreadmt.c 
sreadmt.c:29:1: error: conflicting types for ‘sreadmt’; have ‘void(int *, int *, int *, float **, int **, int **)’
   29 | sreadmt(int *m, int *n, int *nonz, float **nzval, int **rowind, int **colptr)
      | ^~~~~~~
In file included from sreadmt.c:22:
slu_mt_sdefs.h:417:13: note: previous declaration of ‘sreadmt’ with type ‘void(int_t *, int_t *, int_t *, float **, int_t **, int_t **)’ {aka ‘void(long long int *, long long int *, long long int *, float **, long long int **, long long int **)’}
  417 | extern void sreadmt (int_t *, int_t *, int_t *, float **, int_t **, int_t **);
      |             ^~~~~~~
sreadmt.c: In function ‘sreadmt’:
sreadmt.c:62:34: error: passing argument 4 of ‘sallocateA’ from incompatible pointer type [-Wincompatible-pointer-types]
   62 |     sallocateA(*n, *nonz, nzval, rowind, colptr); /* Allocate storage */
      |                                  ^~~~~~
      |                                  |
      |                                  int **
slu_mt_sdefs.h:333:49: note: expected ‘int_t **’ {aka ‘long long int **’} but argument is of type ‘int **’
  333 | extern void sallocateA (int_t, int_t, float **, int_t **, int_t **);
      |                                                 ^~~~~~~~
sreadmt.c:62:42: error: passing argument 5 of ‘sallocateA’ from incompatible pointer type [-Wincompatible-pointer-types]
   62 |     sallocateA(*n, *nonz, nzval, rowind, colptr); /* Allocate storage */
      |                                          ^~~~~~
      |                                          |
      |                                          int **
slu_mt_sdefs.h:333:59: note: expected ‘int_t **’ {aka ‘long long int **’} but argument is of type ‘int **’
  333 | extern void sallocateA (int_t, int_t, float **, int_t **, int_t **);
      |                                                           ^~~~~~~~
sreadmt.c:61:5: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   61 |     scanf("%d%d%d", m, n, nonz);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sreadmt.c:68:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   68 |         scanf("%d", &nnz);
      |         ^~~~~~~~~~~~~~~~~
sreadmt.c:71:13: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   71 |             scanf("%d%f\n", &asub[lasta], &a[lasta]);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:137: sreadmt.o] Error 1

Increasing memory via sp_ienv and Different results per run with OPENMP WIN32 FORTRAN call comparing to superlu ordinary

  1. How to get increasing the memory superlu. I am using fortran windows via Intel OpenAPI

F:\sparse\mt\fortran>f77mod.exe < cage12.rb
nproc = 12 threads used
Use minimum degree ordering on A'*A.
Storage for L subscripts exceeded; Current column 24279; Need at least 60980958;
You may set it by the 8-th parameter in routine sp_ienv().
Memory allocation failed at line 222 in file pmemory.c

I added some openmp in f77_main.f examples
` nprocs = 2

  !$omp parallel
  !$omp master
  !$ nprocs = omp_get_num_threads()
  !$omp end master
  !$omp end parallel
  print *, nprocs , ' threads used'`

PS: My bad is already on FAQ.
SuperLU_MT: exceeding storage errorSuperLU_MT does not support dynamic memory expansion. It pre-allocates storage based on the nonzeros in original matrix A and the estimated fill ratios given by the #6, #7, #8 parameters n SRC/sp_ienv.c. If the guestimate is small, you may get the following error message. Storage for L subscripts exceeded; Current column xxxx; Need at least yyyyyy; You may set it by the 8-th parameter in routine sp_ienv(). Then, you need to set the corresponding parameter to be a larger value in magnitude. Section 3.5.2 of the Users' Guide explains this in more detail.

means i must edit sp_ienv.c or i can use enviroment variables?
change here?

#else
case 1: return (8);
case 2: return (1);
case 3: return (200);
case 4: return (200);
case 5: return (40);
#endif
case 6: return (-20);
case 7: return (-100);
case 8: return (60980958);
}

/* Value for ISPEC(8) before        case 8: return (-10)*/
  1. Somehow the result superlu_mt changes every ran, and different with superlu from calling c_fortran_pdgssv.obj,
    when dealing matrix larger https://www.cise.ufl.edu/research/sparse/matrices/Goodwin/index.html
    https://www.cise.ufl.edu/research/sparse/RB/Goodwin/rim.tar.gz
    openmp dwin32 intel_mkl both VS CL and INTEL ICX with IFORT

program f77_main
integer maxn, maxnz
parameter ( maxn = 2132536, maxnz = 2132536)
integer rowind(maxnz), colptr(maxn)
real8 values(maxnz), b(maxn)
integer n, nnz, nrhs, ldb, info
integer nprocs
call hbcode1(n, n, nnz, values, rowind, colptr)
nrhs = 1
ldb = n
nprocs = 2
do i = 1, n
b(i) = 1
enddo
call c_bridge_pdgssv(nprocs, n, nnz, nrhs, values, rowind, colptr,
$ b, ldb, info)
if (info .eq. 0) then
write (
,) (b(i), i=1, 10)
else
write(
,*) 'INFO from c_bridge_dgssv = ', info
endif
stop
end

RESULT

E:\intel\superlu_mt-master\superlu_mt-master\SRC\now\built>f77_main.exe < rim.rb
Use minimum degree ordering on A'*A.
Factor time = 0.77
Factor flops = 2.114700e+09 Mflops = 2764.10
Solve time = 0.04
Solve flops = 1.983820e+07 Mflops = 537.72
#NZ in factor L = 2904678
#NZ in factor U = 7036982
#NZ in L+U = 9919100
L\U MB 109.312 total MB needed 127.179 expansions 0
9716729898987.25 19855082276513.7 22103722855047.9
11551746912007.8 14702398418294.2 21506934209532.5
13996173763919.8 11130599870742.7 14099676818866.4
-8671219949845.16

E:\intel\superlu_mt-master\superlu_mt-master\SRC\now\built>f77_main.exe < rim.rb
Use minimum degree ordering on A'*A.
Factor time = 0.75
Factor flops = 2.114960e+09 Mflops = 2820.74
Solve time = 0.04
Solve flops = 1.983882e+07 Mflops = 544.51
#NZ in factor L = 2904987
#NZ in factor U = 7036982
#NZ in L+U = 9919409
L\U MB 109.310 total MB needed 127.177 expansions 0
8200883692408.28 16757614123494.0 18655458148288.4
9749631002379.63 12408768756516.9 18151770812903.1
11812717855321.1 9394184512827.24 11900074041552.3
-7318477205747.72

Installation issues on the linux cluster

I am trying to install the Superlu_mt-3.1 on the cluster. But errors showup when I typed "make"
Here are the errors:
gcc -fopenmp -o testdlamch dlamch.o lsame.o dlamchtst.o
/usr/bin/ld.gold: --push-state: unknown option
/usr/bin/ld.gold: use the --help option for usage information
collect2: error: ld returned 1 exit status
make[1]: *** [testdlamch] Error 1
make[1]: Leaving directory `/mnt/cephfs/software/jxi4/sw/SuperLU_MT_3.1/INSTALL'
make: *** [install] Error 2

I am currently using make.linux.openmp as the make.inc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.