Floating Point Exception with GYRE 2.0

Bug/problem reports for any of the GYRE executables (gyre_ad, gyre_nad, etc)
Post Reply
ehsan
Posts: 88
Joined: Sun Jun 16, 2013 11:31 am

Floating Point Exception with GYRE 2.0

Post by ehsan » Thu Sep 12, 2013 1:40 am

Hi Rich,
When my requested number of GYRE calls are large, I throw them to SLURM.
For a fraction of my runs, there is an error like the following captured by SLURM.

Code: Select all

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:
#0  0x7FE6ED5D14C7
#1  0x7FE6ED5D1ACE
#2  0x36678359AF
#3  0x4331C1 in __gyre_ad_bound_MOD_outer_bound_unno
#4  0x4317E8 in __gyre_ad_bound_MOD_outer_bound
#5  0x419614 in __gyre_ad_bvp_MOD_build
#6  0x419704 in __gyre_ad_bvp_MOD_discrim
#7  0x404895 in __gyre_discfunc_MOD_eval_c
#8  0x4A7EDF in __core_func_MOD_eval_r
#9  0x4A898A in __core_func_MOD_root_r
#10  0x41AD3C in __gyre_ad_bvp_MOD_mode
#11  0x4103E7 in __gyre_search_MOD_scan_search
#12  0x403A96 in MAIN__ at gyre_ad.f90:0
srun: error: hamal: task 0: Floating point exception


I have attached the input model and inlist, in addition to the log and error captured by SLURM.
Can you reproduce the same error?
I would be grateful to know how to tackle this issue. Could a modification in the namelist help?

Thanks for your support Rich,
Ehsan.


PS: My browser is cached to this bug submission page! After I posted this, I realized that this is recently addressed by other users.
Sorry for the repetition.
Please transmit a signal once a new version is released.
Attachments
M02.5-eta0.00-ov0.018-sc0.00-Z0.014-MS-Yc0.5062-Xc0.4800-01160.err.txt
Error message
(659 Bytes) Downloaded 145 times
M02.5-eta0.00-ov0.018-sc0.00-Z0.014-MS-Yc0.5062-Xc0.4800-01160.log.txt
runtime log
(13.81 KiB) Downloaded 146 times
M02.5-eta0.00-ov0.018-sc0.00-Z0.014-MS-Yc0.5062-Xc0.4800-01160.namelist.txt
Namelist
(1.36 KiB) Downloaded 168 times
M02.5-eta0.00-ov0.018-sc0.00-Z0.014-MS-Yc0.5062-Xc0.4800-01160.gyre
Input GYRE model
(368.5 KiB) Downloaded 197 times

User avatar
rhtownsend
Site Admin
Posts: 397
Joined: Sun Mar 31, 2013 4:22 pm

Re: Floating Point Exception with GYRE 2.0

Post by rhtownsend » Thu Sep 12, 2013 10:34 am

ehsan wrote:Hi Rich,
When my requested number of GYRE calls are large, I throw them to SLURM.
For a fraction of my runs, there is an error like the following captured by SLURM.

Code: Select all

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:
#0  0x7FE6ED5D14C7
#1  0x7FE6ED5D1ACE
#2  0x36678359AF
#3  0x4331C1 in __gyre_ad_bound_MOD_outer_bound_unno
#4  0x4317E8 in __gyre_ad_bound_MOD_outer_bound
#5  0x419614 in __gyre_ad_bvp_MOD_build
#6  0x419704 in __gyre_ad_bvp_MOD_discrim
#7  0x404895 in __gyre_discfunc_MOD_eval_c
#8  0x4A7EDF in __core_func_MOD_eval_r
#9  0x4A898A in __core_func_MOD_root_r
#10  0x41AD3C in __gyre_ad_bvp_MOD_mode
#11  0x4103E7 in __gyre_search_MOD_scan_search
#12  0x403A96 in MAIN__ at gyre_ad.f90:0
srun: error: hamal: task 0: Floating point exception


I have attached the input model and inlist, in addition to the log and error captured by SLURM.
Can you reproduce the same error?
I would be grateful to know how to tackle this issue. Could a modification in the namelist help?

Thanks for your support Rich,
Ehsan.


PS: My browser is cached to this bug submission page! After I posted this, I realized that this is recently addressed by other users.
Sorry for the repetition.
Please transmit a signal once a new version is released.
The crashes you've been experiencing are due to a division by zero in the Unno boundary condition module. I've fixed this in the 2.1 version of GYRE, which will be out very soon.

In the meantime, you can work around the problem by changing outer_bound_type to ZERO.

Incidentally, there are some changes you can make to your namelist which will dramatically shorten the code runtime. Try changing the &scan namelists to this:

Code: Select all

&scan 
  grid_type = 'LINEAR' 
  freq_min = 5.0 
  freq_max = 25.0 
  n_freq = 200
  freq_units = 'PER_DAY' 
/ 
&scan 
  grid_type = 'INVERSE' 
  freq_min = 0.2 
  freq_max = 5.0
  n_freq = 200
  freq_units = 'PER_DAY' 
/ 
cheers,

Rich

ehsan
Posts: 88
Joined: Sun Jun 16, 2013 11:31 am

Re: Floating Point Exception with GYRE 2.0

Post by ehsan » Thu Sep 12, 2013 11:37 am

Thanks Rich for your help and the tip.
I would wait impatiently for the new version.

Best.
Ehsan.

User avatar
rhtownsend
Site Admin
Posts: 397
Joined: Sun Mar 31, 2013 4:22 pm

Re: Floating Point Exception with GYRE 2.0

Post by rhtownsend » Thu Sep 12, 2013 3:23 pm

ehsan wrote:Thanks Rich for your help and the tip.
I would wait impatiently for the new version.

Best.
Ehsan.
It shouldn't be long now -- perhaps a day or two.

By the way, can you send me a version of the model above in FGONG format? The model has some interesting properties that I'd like to explore further with ADIPLS and GYRE side-by-side.

cheers,

Rich

ehsan
Posts: 88
Joined: Sun Jun 16, 2013 11:31 am

Re: Floating Point Exception with GYRE 2.0

Post by ehsan » Sat Sep 14, 2013 1:42 pm

Thanks Rich for your comment.
I rerun the model, and here, I attach the equivalent model in FGONG format. It's a slightly different model (I guess), so I attach the .gyre model as well.

Now that the new GYRE is out, let me hope that a fix to the following error is also considered which occurs with the gyra_nad.

Code: Select all

       1     -22       0      22    0.4635719823569588E+00    0.0000000000000000E+00    0.5952113231304833E-14       5
       1     -21       0      21    0.4865016915445961E+00    0.0000000000000000E+00    0.5207159604561281E-13       6
       1     -20       0      20    0.5057534256436065E+00    0.0000000000000000E+00    0.6318995674758221E-13       5
       1     -19       0      19    0.5301369293127749E+00    0.0000000000000000E+00    0.5794102204740363E-13       6
       1     -18       0      18    0.5610136197265637E+00    0.0000000000000000E+00    0.5286864591666943E-13       6
       1     -17       0      17    0.5955033698391474E+00    0.0000000000000000E+00    0.3070872311089174E-13       6
       1     -16       0      16    0.6293322436337684E+00    0.0000000000000000E+00    0.4643178298593191E-14       6
       1     -15       0      15    0.6617068090411689E+00    0.0000000000000000E+00    0.4529591208528532E-14       6
       1     -14       0      14    0.7076361858952135E+00    0.0000000000000000E+00    0.3541661444440853E-13       6
       1     -13       0      13    0.7679856629868757E+00    0.0000000000000000E+00    0.2097467321479211E-13       5
       1     -12       0      12    0.8350191567259898E+00    0.0000000000000000E+00    0.2845731471394459E-13       6
       1     -11       0      11    0.8834343609006985E+00    0.0000000000000000E+00    0.7250342961085130E-13       6
       1     -10       0      10    0.9608319884307354E+00    0.0000000000000000E+00    0.3239541308061194E-13       6
       1      -9       0       9    0.1077979134734480E+01    0.0000000000000000E+00    0.5014575015704340E-14       7
       1      -8       0       8    0.1220985210875705E+01    0.0000000000000000E+00    0.3917805872045695E-14       6
       1      -7       0       7    0.1336427998801409E+01    0.0000000000000000E+00    0.3319004959660100E-14       7
       1      -6       0       6    0.1503976467941034E+01    0.0000000000000000E+00    0.1196229291825829E-13       7
       1      -5       0       5    0.1815935927142527E+01    0.0000000000000000E+00    0.6853212700800398E-14       6
       1      -4       0       4    0.2261780828602331E+01    0.0000000000000000E+00    0.6161021555340354E-14       7
       1      -3       0       3    0.2949761528896459E+01    0.0000000000000000E+00    0.1352714348935602E-13       7
       1      -2       0       2    0.3444120575959294E+01    0.0000000000000000E+00    0.2917997554184071E-13       7
       1      -1       1       2    0.4158534833948026E+01    0.0000000000000000E+00    0.4641119970175838E-14       9
       1       1       1       1    0.4660546224261499E+01    0.0000000000000000E+00    0.1276472698793506E-13       5
       1       2       2       1    0.5352816891306991E+01    0.0000000000000000E+00    0.1575168216745765E-13       7
       1       3       3       1    0.6088954209428262E+01    0.0000000000000000E+00    0.2090261711458070E-12       9
       1       4       4       1    0.6859092617165780E+01    0.0000000000000000E+00    0.8806678140569720E+00       7
       1       5       5       1    0.7800518226021985E+01    0.0000000000000000E+00    0.7209388600293136E+01       5
       1       6       6       1    0.8681936284261422E+01    0.0000000000000000E+00    0.1338957471946373E+02       6
       1       7       7       1    0.9554607392411075E+01    0.0000000000000000E+00    0.9027968986851882E+01       6

Completed mode search; time elapsed:      8.076 s

Proximity Mode Search
=====================

       l    n_pg     n_p     n_g                Re(omega)                Im(omega)                      |D|  n_it
 INFO at line 679 <gyre_sysmtx:null_vector_slu_r>:
 Smallest element not in outer block
       1     -60      18      78    0.1006872870757066E+00    0.2299672851138000E-03    0.4240091666646521-140    18
 INFO at line 679 <gyre_sysmtx:null_vector_slu_r>:
 Smallest element not in outer block
       1     -58      24      82    0.1020371486401555E+00    0.2038875776268519E-03    0.5149972842934648-140    22
 INFO at line 679 <gyre_sysmtx:null_vector_slu_r>:
 Smallest element not in outer block
       1     -56      25      81    0.1020371486401550E+00    0.2038875776256686E-03    0.2574986421492934-140    37
 INFO at line 679 <gyre_sysmtx:null_vector_slu_r>:
 Smallest element not in outer block
       1     -55      27      82    0.1033512023586119E+00    0.1809462042209122E-03    0.1231402533600939-141    15
 INFO at line 679 <gyre_sysmtx:null_vector_slu_r>:
 Smallest element not in outer block
       1     -62      25      87    0.1047185324709922E+00    0.2192918521080307E-03    0.1845538902112058-142    22
 INFO at line 679 <gyre_sysmtx:null_vector_slu_r>:
 Smallest element not in outer block
       1     -57      21      78    0.1047741489301725E+00    0.1561256482159696E-08    0.2373288366677134-151     1
 INFO at line 679 <gyre_sysmtx:null_vector_slu_r>:
 Smallest element not in outer block
       1     -56      25      81    0.1061954417797430E+00    0.2187501522539588E-03    0.9385300561473634-141    15
 ASSERT 'n_iter <= this%np%n_iter_max' failed at line 430 <gyre_nad_bvp:mode>:
 Too many iterations
Best.
Ehsan.
Attachments
M02.5-eta0.00-ov0.018-sc0.00-Z0.014-MS-Yc0.5063-Xc0.4799-01104.gyre
The GYRE model
(363.48 KiB) Downloaded 231 times
M02.5-eta0.00-ov0.018-sc0.00-Z0.014-MS-Yc0.5063-Xc0.4799-01104.prof.FGONG
The FGONG model
(641.96 KiB) Downloaded 195 times

Post Reply