[petsc-users] slepc NHEP error

Barry Smith bsmith at mcs.anl.gov
Wed Jun 14 15:48:26 CDT 2017


> On Jun 14, 2017, at 3:45 PM, Kannan, Ramakrishnan <kannanr at ornl.gov> wrote:
> 
> Barry,
> 
> All the functions here are standard SLEPC functions and there are no user-defined or custom code here. As you can see, when I uncomment the CHKERRQ macros in my code, I am getting the compilation error. 

   Yes that is because YOUR function that calls the SLEPc functions is void and doesn't return an error code. It is that function I recommend changing to return error codes.

    Barry

> 
> -- 
> Regards,
> Ramki
> 
> 
> On 6/14/17, 4:40 PM, "Barry Smith" <bsmith at mcs.anl.gov> wrote:
> 
> 
>> On Jun 14, 2017, at 3:33 PM, Kannan, Ramakrishnan <kannanr at ornl.gov> wrote:
>> 
>> Can I use CHKERRV instead of CHKERRQ? Will that help?
> 
>       You can do that. But I question you having functions in your code that return void instead of an error code. Without error codes you are just hurting your own productivity.
> 
>       Barry
> 
>> 
>> -- 
>> Regards,
>> Ramki
>> 
>> 
>> On 6/14/17, 4:25 PM, "Kannan, Ramakrishnan" <kannanr at ornl.gov> wrote:
>> 
>>   I get the following compilation error when I have CHKERRQ.
>> 
>>   /opt/cray/petsc/3.7.4.0/real/GNU64/5.1/sandybridge/include/petscerror.h:433:154: error: return-statement with a value, in function returning 'void' [-fpermissive]
>>    #define CHKERRQ(n)             do {if (PetscUnlikely(n)) return PetscError(PETSC_COMM_SELF,__LINE__,PETSC_FUNCTION_NAME,__FILE__,n,PETSC_ERROR_REPEAT," ");} while (0)
>> 
>> 
>>   -- 
>>   Regards,
>>   Ramki
>> 
>> 
>>   On 6/14/17, 4:14 PM, "Barry Smith" <bsmith at mcs.anl.gov> wrote:
>> 
>> 
>>         Why do you have the CHKERRQ(ierr); commented out in your code? 
>> 
>>          Because of this you are getting mangled confusing error messages. 
>> 
>>          Put a ierr = in front of all calls and a CHKERRQ(ierr); after each call. 
>> 
>>          Then resend the new error message which will be much clearer.
>> 
>> 
>> 
>>> On Jun 14, 2017, at 2:58 PM, Kannan, Ramakrishnan <kannanr at ornl.gov> wrote:
>>> 
>>> Hello,
>>> 
>>> I am running NHEP across 16 MPI processors over 16 nodes in a matrix of global size of 1,000,000x1,000,000 with approximately global 16,000,000 non-zeros. Each node has approximately 1million non-zeros.
>>> 
>>> The following is my slepc code for EPS.
>>> 
>>> PetscInt nev;
>>> ierr = EPSCreate(PETSC_COMM_WORLD, &eps);  // CHKERRQ(ierr);
>>> ierr = EPSSetOperators(eps, A, NULL);  // CHKERRQ(ierr);
>>> ierr = EPSSetProblemType(eps, EPS_NHEP);  // CHKERRQ(ierr);
>>> EPSSetWhichEigenpairs(eps, EPS_LARGEST_REAL);
>>> EPSSetDimensions(eps, 100, PETSC_DEFAULT, PETSC_DEFAULT);
>>> PRINTROOT("calling epssolve");
>>> ierr = EPSSolve(eps);  // CHKERRQ(ierr);
>>> ierr = EPSGetType(eps, &type);  // CHKERRQ(ierr);
>>> ierr = PetscPrintf(PETSC_COMM_WORLD, " Solution method: %s\n\n", type);
>>> // CHKERRQ(ierr);
>>> ierr = EPSGetDimensions(eps, &nev, NULL, NULL);  // CHKERRQ(ierr);
>>> ierr = PetscPrintf(PETSC_COMM_WORLD,
>>>                      " Number of requested eigenvalues: %D\n",
>>>                      nev);  // CHKERRQ(ierr);
>>> 
>>> I am getting the following error. Attached is the entire error file for your reference. Please let me know what should I fix in this code.
>>> 
>>> 2]PETSC ERROR: Argument out of range
>>> [2]PETSC ERROR: Argument 2 out of range
>>> [2]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
>>> [2]PETSC ERROR: Petsc Release Version 3.7.4, Oct, 02, 2016
>>> [2]PETSC ERROR: ./miniapps on a sandybridge named nid00300 by d3s Wed Jun 14 15:32:00 2017
>>> [13]PETSC ERROR: #1 BVDotVec_BLAS_Private() line 272 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/sys/classes/bv/interface/bvblas.c
>>> [13]PETSC ERROR: #2 BVDotVec_Svec() line 150 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/sys/classes/bv/impls/svec/svec.c
>>> [13]PETSC ERROR: #3 BVDotVec() line 191 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/sys/classes/bv/interface/bvglobal.c
>>> [13]PETSC ERROR: #4 BVOrthogonalizeCGS1() line 81 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/sys/classes/bv/interface/bvorthog.c
>>> [13]PETSC ERROR: #5 BVOrthogonalizeCGS() line 214 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/sys/classes/bv/interface/bvorthog.c
>>> [13]PETSC ERROR: #6 BVOrthogonalizeColumn() line 371 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/sys/classes/bv/interface/bvorthog.c
>>> [13]PETSC ERROR: #7 EPSBasicArnoldi() line 59 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/eps/impls/krylov/epskrylov.c
>>> [13]PETSC ERROR: #8 EPSSolve_KrylovSchur_Default() line 203 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/eps/impls/krylov/krylovschur/krylovschur.c
>>> [13]PETSC ERROR: #9 EPSSolve() line 101 in /autofs/nccs-svm1_home1/ramki/libraries/slepc-3.7.3/src/eps/interface/epssolve.c
>>> 
>>> -- 
>>> Regards,
>>> Ramki
>>> 
>>> <test.pbs.e613713>
>> 
>> 
>> 
>> 
>> 
>> 
> 
> 
> 
> 



More information about the petsc-users mailing list