Quantcast

PARPACK pzndrv1 TEST FAIL

classic Classic list List threaded Threaded
6 messages Options
Umberto Umberto
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

PARPACK pzndrv1 TEST FAIL

Hi,

I am trying to implement PARPACK support for octopus
(http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page) for
the diagonalization of non-Hermitian sparse matrices.
I have compiled and installed the latest development version of
arpack-ng (dated Tue Jul 17 14:30:24 2012 +0200).

The code runs OK with the serial version giving reasonable numbers
(although sometimes the eigenvalues are not completely ordered
according to the requested ordering 'SR').
Calculation performed with the parallel version however yield results
that are completely unconsistent with the serial version.
In order to track down the root of the problem I have compiled the
examples under PARPACK/EXAMPLES/MPI folder. Basically only the real
and symmetric drivers works properly while the complex non-symmetric
drivers fails. Specifically pzndrv1 fails after pznaupd with info=3
(no shifts could be applied during implicit Arnoldi update ...) and
pcdrv1 seg faults.

I have also managed to compile and install the original P/ARPACK from
http://www.caam.rice.edu/ and relative patches. In this case the
examples pzndrv1 and pcndrv1 run flawlessly. Also my code runs OK with
one or 2 cpu but I get different results when I increase the number of
processors and change the size of the problem.

I am not sure wether the above examples are supposed to run properly
with the NG version.
The problem is that I have based my implementation on that examples
and I have no way to tell if the bug resides in the old version or
ARPACK or in my implementation.

Any help would be very appreciated.

Regards,

Umberto De Giovannini
Sylvestre Ledru-4 Sylvestre Ledru-4
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PARPACK pzndrv1 TEST FAIL

On 31/07/2012 19:28, Umberto De Giovannini wrote:
> Hi,
>
> I am trying to implement PARPACK support for octopus
> (http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page) for
> the diagonalization of non-Hermitian sparse matrices.
> I have compiled and installed the latest development version of
> arpack-ng (dated Tue Jul 17 14:30:24 2012 +0200).
[...]
> I am not sure wether the above examples are supposed to run properly
> with the NG version.
Yes, they are.
There are a few changes in parpack from the original release of arpack.
You should open a bug report with simple tests cases which show the issue.

> The problem is that I have based my implementation on that examples
> and I have no way to tell if the bug resides in the old version or
> ARPACK or in my implementation.
>
> Any help would be very appreciated.
>
I don't really have time to dig into your issue but I will be happy to
apply any patches.


Sylvestre


--
Sylvestre Ledru
Operation Manager / Community Manager
-----------------------------------------------------------
Scilab Enterprises
143bis rue Yves Le Coz - 78000 Versailles, France
http://www.scilab-enterprises.com


Umberto Umberto
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PARPACK pzndrv1 TEST FAIL

Hi,

I think there is an error in pcnapps.f similar to what reported some
time ago with pdlamch.
In pcnapps.f the call

unfl = pslamch( 'safe minimum' )

should be changed to

unfl = pslamch( comm, 'safe minimum' )

This fixes the segfault on pcdrv1 on my machine..

For pzdrv1 still no clues.. Wrong numbers are trickier than segfaults..

Cheers,

Umberto

On Tue, Jul 31, 2012 at 7:31 PM, Sylvestre Ledru
<[hidden email]> wrote:

> On 31/07/2012 19:28, Umberto De Giovannini wrote:
>>
>> Hi,
>>
>> I am trying to implement PARPACK support for octopus
>> (http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page) for
>> the diagonalization of non-Hermitian sparse matrices.
>> I have compiled and installed the latest development version of
>> arpack-ng (dated Tue Jul 17 14:30:24 2012 +0200).
>
> [...]
>
>> I am not sure wether the above examples are supposed to run properly
>> with the NG version.
>
> Yes, they are.
> There are a few changes in parpack from the original release of arpack.
> You should open a bug report with simple tests cases which show the issue.
>
>
>> The problem is that I have based my implementation on that examples
>> and I have no way to tell if the bug resides in the old version or
>> ARPACK or in my implementation.
>>
>> Any help would be very appreciated.
>>
> I don't really have time to dig into your issue but I will be happy to apply
> any patches.
>
>
> Sylvestre
>
>
> --
> Sylvestre Ledru
> Operation Manager / Community Manager
> -----------------------------------------------------------
> Scilab Enterprises
> 143bis rue Yves Le Coz - 78000 Versailles, France
> http://www.scilab-enterprises.com
>
>
Umberto Umberto
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PARPACK pzndrv1 TEST FAIL

OK,

I think I have found the source of the error in pzndrv1 in pznapps.f.
Basically smlnum was NaN due to ulp = dlamch( 'precision' ) being zero.
I am not sure why (since pdlamch(comm,'p') is a wrapper to dlamch) but
using pdlamch

ulp = pdlamch( comm, 'precision' )

fixes the info=3 issue after pznaupd in pzndrv1.

You can find a patch with all the fixes with respect to the trunk
version attached.

Cheers,

Umberto




On Tue, Jul 31, 2012 at 10:03 PM, Umberto De Giovannini
<[hidden email]> wrote:

> Hi,
>
> I think there is an error in pcnapps.f similar to what reported some
> time ago with pdlamch.
> In pcnapps.f the call
>
> unfl = pslamch( 'safe minimum' )
>
> should be changed to
>
> unfl = pslamch( comm, 'safe minimum' )
>
> This fixes the segfault on pcdrv1 on my machine..
>
> For pzdrv1 still no clues.. Wrong numbers are trickier than segfaults..
>
> Cheers,
>
> Umberto
>
> On Tue, Jul 31, 2012 at 7:31 PM, Sylvestre Ledru
> <[hidden email]> wrote:
>> On 31/07/2012 19:28, Umberto De Giovannini wrote:
>>>
>>> Hi,
>>>
>>> I am trying to implement PARPACK support for octopus
>>> (http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page) for
>>> the diagonalization of non-Hermitian sparse matrices.
>>> I have compiled and installed the latest development version of
>>> arpack-ng (dated Tue Jul 17 14:30:24 2012 +0200).
>>
>> [...]
>>
>>> I am not sure wether the above examples are supposed to run properly
>>> with the NG version.
>>
>> Yes, they are.
>> There are a few changes in parpack from the original release of arpack.
>> You should open a bug report with simple tests cases which show the issue.
>>
>>
>>> The problem is that I have based my implementation on that examples
>>> and I have no way to tell if the bug resides in the old version or
>>> ARPACK or in my implementation.
>>>
>>> Any help would be very appreciated.
>>>
>> I don't really have time to dig into your issue but I will be happy to apply
>> any patches.
>>
>>
>> Sylvestre
>>
>>
>> --
>> Sylvestre Ledru
>> Operation Manager / Community Manager
>> -----------------------------------------------------------
>> Scilab Enterprises
>> 143bis rue Yves Le Coz - 78000 Versailles, France
>> http://www.scilab-enterprises.com
>>
>>

fix_parpack.patch (2K) Download Attachment
Sylvestre Ledru-4 Sylvestre Ledru-4
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PARPACK pzndrv1 TEST FAIL

Great. Many thanks! :)

It is merged:
http://forge.scilab.org/index.php/p/arpack-ng/source/commit/168aaf5a3fde711ba3023633ca977c1c843d051e/

I will publish a release soon.

Any more changes you would like to push before the release ?

Thanks
S

On 01/08/2012 16:49, Umberto De Giovannini wrote:

> OK,
>
> I think I have found the source of the error in pzndrv1 in pznapps.f.
> Basically smlnum was NaN due to ulp = dlamch( 'precision' ) being zero.
> I am not sure why (since pdlamch(comm,'p') is a wrapper to dlamch) but
> using pdlamch
>
> ulp = pdlamch( comm, 'precision' )
>
> fixes the info=3 issue after pznaupd in pzndrv1.
>
> You can find a patch with all the fixes with respect to the trunk
> version attached.
>
> Cheers,
>
> Umberto
>
>
>
>
> On Tue, Jul 31, 2012 at 10:03 PM, Umberto De Giovannini
> <[hidden email]> wrote:
>> Hi,
>>
>> I think there is an error in pcnapps.f similar to what reported some
>> time ago with pdlamch.
>> In pcnapps.f the call
>>
>> unfl = pslamch( 'safe minimum' )
>>
>> should be changed to
>>
>> unfl = pslamch( comm, 'safe minimum' )
>>
>> This fixes the segfault on pcdrv1 on my machine..
>>
>> For pzdrv1 still no clues.. Wrong numbers are trickier than segfaults..
>>
>> Cheers,
>>
>> Umberto
>>
>> On Tue, Jul 31, 2012 at 7:31 PM, Sylvestre Ledru
>> <[hidden email]> wrote:
>>> On 31/07/2012 19:28, Umberto De Giovannini wrote:
>>>>
>>>> Hi,
>>>>
>>>> I am trying to implement PARPACK support for octopus
>>>> (http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page) for
>>>> the diagonalization of non-Hermitian sparse matrices.
>>>> I have compiled and installed the latest development version of
>>>> arpack-ng (dated Tue Jul 17 14:30:24 2012 +0200).
>>>
>>> [...]
>>>
>>>> I am not sure wether the above examples are supposed to run properly
>>>> with the NG version.
>>>
>>> Yes, they are.
>>> There are a few changes in parpack from the original release of arpack.
>>> You should open a bug report with simple tests cases which show the issue.
>>>
>>>
>>>> The problem is that I have based my implementation on that examples
>>>> and I have no way to tell if the bug resides in the old version or
>>>> ARPACK or in my implementation.
>>>>
>>>> Any help would be very appreciated.
>>>>
>>> I don't really have time to dig into your issue but I will be happy to apply
>>> any patches.
>>>
>>>
>>> Sylvestre
>>>
>>>
>>> --
>>> Sylvestre Ledru
>>> Operation Manager / Community Manager
>>> -----------------------------------------------------------
>>> Scilab Enterprises
>>> 143bis rue Yves Le Coz - 78000 Versailles, France
>>> http://www.scilab-enterprises.com
>>>
>> >


--
-----------------------------
Sylvestre Ledru
Operations manager
Community manager
-----------------------------
Scilab Enterprises
http://www.scilab-enterprises.com/
http://www.scilab.org/
-----------------------------
Umberto Umberto
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: PARPACK pzndrv1 TEST FAIL

no more changes (for the moment)..

cheers

Umberto

On Wed, Aug 1, 2012 at 5:13 PM, Sylvestre Ledru
<[hidden email]> wrote:

> Great. Many thanks! :)
>
> It is merged:
> http://forge.scilab.org/index.php/p/arpack-ng/source/commit/168aaf5a3fde711ba3023633ca977c1c843d051e/
>
> I will publish a release soon.
>
> Any more changes you would like to push before the release ?
>
> Thanks
> S
>
> On 01/08/2012 16:49, Umberto De Giovannini wrote:
>> OK,
>>
>> I think I have found the source of the error in pzndrv1 in pznapps.f.
>> Basically smlnum was NaN due to ulp = dlamch( 'precision' ) being zero.
>> I am not sure why (since pdlamch(comm,'p') is a wrapper to dlamch) but
>> using pdlamch
>>
>> ulp = pdlamch( comm, 'precision' )
>>
>> fixes the info=3 issue after pznaupd in pzndrv1.
>>
>> You can find a patch with all the fixes with respect to the trunk
>> version attached.
>>
>> Cheers,
>>
>> Umberto
>>
>>
>>
>>
>> On Tue, Jul 31, 2012 at 10:03 PM, Umberto De Giovannini
>> <[hidden email]> wrote:
>>> Hi,
>>>
>>> I think there is an error in pcnapps.f similar to what reported some
>>> time ago with pdlamch.
>>> In pcnapps.f the call
>>>
>>> unfl = pslamch( 'safe minimum' )
>>>
>>> should be changed to
>>>
>>> unfl = pslamch( comm, 'safe minimum' )
>>>
>>> This fixes the segfault on pcdrv1 on my machine..
>>>
>>> For pzdrv1 still no clues.. Wrong numbers are trickier than segfaults..
>>>
>>> Cheers,
>>>
>>> Umberto
>>>
>>> On Tue, Jul 31, 2012 at 7:31 PM, Sylvestre Ledru
>>> <[hidden email]> wrote:
>>>> On 31/07/2012 19:28, Umberto De Giovannini wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I am trying to implement PARPACK support for octopus
>>>>> (http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page) for
>>>>> the diagonalization of non-Hermitian sparse matrices.
>>>>> I have compiled and installed the latest development version of
>>>>> arpack-ng (dated Tue Jul 17 14:30:24 2012 +0200).
>>>>
>>>> [...]
>>>>
>>>>> I am not sure wether the above examples are supposed to run properly
>>>>> with the NG version.
>>>>
>>>> Yes, they are.
>>>> There are a few changes in parpack from the original release of arpack.
>>>> You should open a bug report with simple tests cases which show the issue.
>>>>
>>>>
>>>>> The problem is that I have based my implementation on that examples
>>>>> and I have no way to tell if the bug resides in the old version or
>>>>> ARPACK or in my implementation.
>>>>>
>>>>> Any help would be very appreciated.
>>>>>
>>>> I don't really have time to dig into your issue but I will be happy to apply
>>>> any patches.
>>>>
>>>>
>>>> Sylvestre
>>>>
>>>>
>>>> --
>>>> Sylvestre Ledru
>>>> Operation Manager / Community Manager
>>>> -----------------------------------------------------------
>>>> Scilab Enterprises
>>>> 143bis rue Yves Le Coz - 78000 Versailles, France
>>>> http://www.scilab-enterprises.com
>>>>
>>> >
>
>
> --
> -----------------------------
> Sylvestre Ledru
> Operations manager
> Community manager
> -----------------------------
> Scilab Enterprises
> http://www.scilab-enterprises.com/
> http://www.scilab.org/
> -----------------------------
Loading...