[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 970226: netcdf-3.3a "make test" error (Cray T90)



John:

I have built and installed netcdf-3.3a
in /t90/ncar/netcdf-3.3a. The library
is /t90/ncar/netcdf-3.3a/lib/libnetcdf.a,
the includes are in /t90/ncar/netcdf-3.3a/include
and the ncgen,ncdump binaries are in
/t90/ncar/netcdf-3.3a/bin. The actual build was
done in /ftmp/ncar/build, as indicated by a
link.

With a few exceptions mentioned below, I was
able to use aggressive -O3 optimization. The
ncx_cray.c module was used. It contains special
constructs which aid in inline and parallel
code generation. I'd be very interested in
hearing performance comparisons of actual user
codes using this version versus previous versions.

------
There are a couple of oddities which you may want
to pass on to your cray support people for further
study.

1) the 'tar' problem we encountered.

2) One large module with many static entry points
runs out of memory trying to inline:

        (t90) 89 % cc -c -O3 -DNDEBUG  putget.c
        cc-951 cc: LIMIT File = putget.c, Line = 6281
        Compilation cannot continue; not enough memory is available.
        Make: "cc -c -O3    putget.c": Error code 1
        cmd-2436 make: Stop.
        (t90) 90 %  cc -c -O2 -DNDEBUG putget.c

The last command succeeds. This happens irrespective of -DNDEBUG.

3) Compilation of attr.c -O3 -DNDEBUG cause compiler core dump.

cc-7991 cc: INTERNAL File = attr.c, Line = 315
  INTERNAL COMPILER ERROR:  "expected lft to be object or address op"
(v_alias.c 1.392, line 5480)

Not defining NDEBUG or using -O2 instead works around the problem.
This is not a particularly large or complex module. The fact that
turning off the assert() bodies will trigger the problem is curious.
You may find the complete output as an attachement.

-glenn

        cc -c -O3   -DNDEBUG attr.c
cc-7991 cc: INTERNAL File = attr.c, Line = 315
  INTERNAL COMPILER ERROR:  "expected lft to be object or address op" 
(v_alias.c 1.392, line 5480)
cc-1160 cc: INLINE attr.c, Line = 2227
  The previous message occurs from an inlined function call.

  Traceback initiated at "output_msg"+01164a (P = 0441214a, line 506)

 "output_msg" called by "PRINTMSG" (P = 0440020b, line 196) with 5 arguments
     1)   0000000000000000025027 -> (0120600000000000000000 =     1.901092e-211)
     2)   0000000000000000017467 -> (1777777777777777777740 = NaN)
     3)   0000000000000000000005 -> (0575553126655731463000 = '_memoff_')
     4)   0000000000000000000000 -> (0020000000040000000001 =     2.052270e-289)
     5)   0000000000000000430056 -> (0000000000000000101606 = 33670)
 "PRINTMSG" called by "issue_pdgcs_msg" (P = 02000160d, line 926) with 8 
arguments
     1)   0000000000000000025027 -> (0120600000000000000000 =     1.901092e-211)
     2)   0000000000000000017467 -> (1777777777777777777740 = NaN)
     3)   0000000000000000000005 -> (0575553126655731463000 = '_memoff_')
     4)   0000000000000000000000 -> (0020000000040000000001 =     2.052270e-289)
     5)   0000000000000000101606 -> (0625703406254335062544 = 'expected')
     6)   0000000000000000154170 -> (0731373026615130271456 = 'v_alias.')
     7)   0000000000000000430007 -> (0661513346244015232070 = 'line 548')
     8)   0000000000000000126525 -> (0)
 "issue_pdgcs_msg" called by "pdgcs_msg" (P = 02000253b, line 1034) with 3 
arguments
     1)   0000000000000000000263 -> (0)
     2)   0000000000000000025027 -> (0120600000000000000000 =     1.901092e-211)
     3)   0000000000000000430036 -> (0000000000000000101606 = 33670)
 "pdgcs_msg" called by "pdgcs_internal_error" (P = 02172757a, line 488) with 5 
arguments
     1)   0000000000000000000263 -> (0)
     2)   0000000000000000025027 -> (0120600000000000000000 =     1.901092e-211)
     3)   0000000000000000101606 -> (0625703406254335062544 = 'expected')
     4)   0000000000000000154170 -> (0731373026615130271456 = 'v_alias.')
     5)   0000000000000000430007 -> (0661513346244015232070 = 'line 548')
 "pdgcs_internal_error" called by "alias_add_obj" (P = 01375462d, line 5480) 
with 3 arguments
     1)   0000000000000000101606 -> (0625703406254335062544 = 'expected')
     2)   0000000000000000102707 -> (0400501062452023027566 = '@(#)PL/v')
     3)   0000000000000000012550 -> (0)
 "alias_add_obj" called by "a_build_table" (P = 01363741d, line 2845) with 2 
arguments
     1)   0000000000000000002155 -> (0721623625756231261557 = 'try_reco')
     2)   0000000000000000000000 -> (0020000000040000000001 =     2.052270e-289)
 "a_build_table" called by "alias_build" (P = 01364324b, line 2982) with 0 
arguments
 "alias_build" called by "build_basic_ud_info" (P = 01467457a, line 146) with 0 
arguments
 "build_basic_ud_info" called by "eliminate_duplicate_conditions" (P = 
02251567b, line 39) with 1 argument 
     1)   0000000000000000000001 -> (1)
 "eliminate_duplicate_conditions" called by "forward_substitution" (P = 
02231311d, line 54) with 0 arguments
 "forward_substitution" called by "pdgcs_main" (P = 02253425a, line 200) with 0 
arguments
 "pdgcs_main" called by "PDGCS_do_proc" (P = 01333201c, line 2977) with 0 
arguments
 "PDGCS_do_proc" called by "generate_pdg" (P = 073630d, line 322) with 0 
arguments
 "generate_pdg" called by "main" (P = 0207200a, line 341) with 4 arguments
     1)   0000000000000000015423 -> (0)
     2)   0000000000000000015424 -> (0)
     3)   0000000000000000000011 -> (0)
     4)   0000000000000000424314 -> (0000000000000000424406 = 141574)
 "main" called by "$START$" (P = 03062431a, line 316) with 3 arguments
     1)   0000000000000000000011 -> (0)
     2)   0000000000000000424314 -> (0000000000000000424406 = 141574)
     3)   0000000000000000424326 -> (1000000000000000424426 = '______)_')

cc-882 cc: INTERNAL in command line
  "/opt/ctl/CC/CC/lib/sccom" was terminated due to receipt of signal 6:  Abort 
(core dumped).
Make: "cc -c -O3   -DNDEBUG attr.c": Error code 134
cmd-2436 make: Stop.
(t90) 168 % cc -c -O2 DNDEBUG attr.c