[MITgcm-support] optim.x compilation
Matthew Mazloff
mmazloff at MIT.EDU
Sat Sep 20 18:10:25 EDT 2008
Hi Samar,
I did try pgf77 and couldn't get it to work. Maybe I just needed -
byteswapio but I think I may have tried this...anyway, as you can see
from the last email it worked with ifort so I'm not gonna go back and
mess with it....unless it doesn't run well
-Matt
(oh, and for that run below I had just copied the goto blas libraries
into the lsopt folder....probably not the best idea but i have some
bad habits)
On Sep 20, 2008, at 2:56 PM, Samar Khatiwala wrote:
> Matt,
>
> Did you modify the optim/Makefile appropriately? 'f77' on ranger is
> just g77 (or gfortran?), which may not really be setup for that
> system. Change the compiler to pgf77 or mpif77. You will need to do
> that anyway to use acml or goto blas. As for compiler options,
> just uncomment the FFLAGS line in Makefile that starts with -
> byteswapio. Also, you need to provide the path to goto blas (see my
> previous email).
>
> Samar
>
> On Sep 20, 2008, at 5:07 PM, Matthew Mazloff wrote:
>
>> Hi Samar and Patrick,
>>
>> Thanks! I followed the directions below and linked to the goto
>> blas library. This got rid of some of the compile error (i.e. the
>> stuff about incompatible blas). But I still have truncation issues:
>>
>> f77 -o optim.x optim_main.o optim_sub.o optim_numbmod.o
>> optim_initmod.o optim_readdata.o optim_writedata.o
>> optim_write_control.o xerbla.o simul.o -L. -L../lsopt/ -
>> llsopt_ecco -lgoto_lp64
>> optim_sub.o: In function `optim_sub__':
>> optim_sub.f:(.text+0x1df): relocation truncated to fit:
>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>> section in optim_sub.o
>> optim_sub.f:(.text+0x27f): relocation truncated to fit:
>> R_X86_64_PC32 against symbol `optiparm_i__' defined in COMMON
>> section in optim_sub.o
>> optim_sub.f:(.text+0x2b1): relocation truncated to fit:
>> R_X86_64_32S against `.bss'
>> optim_sub.f:(.text+0x2ba): relocation truncated to fit:
>> R_X86_64_32S against `.bss'
>> optim_sub.f:(.text+0x2c3): relocation truncated to fit:
>> R_X86_64_32S against `.bss'
>> optim_sub.f:(.text+0x2c8): relocation truncated to fit:
>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>> section in optim_sub.o
>> optim_sub.f:(.text+0x2d6): relocation truncated to fit:
>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>> section in optim_sub.o
>> optim_sub.f:(.text+0x2f0): relocation truncated to fit:
>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>> section in optim_sub.o
>> optim_sub.f:(.text+0x2fe): relocation truncated to fit:
>> R_X86_64_32 against symbol `optiparm_r__' defined in COMMON
>> section in optim_sub.o
>> optim_sub.f:(.text+0x310): relocation truncated to fit:
>> R_X86_64_32S against symbol `optiparm_r__' defined in COMMON
>> section in optim_sub.o
>> optim_sub.f:(.text+0x315): additional relocation overflows omitted
>> from the output
>> collect2: ld returned 1 exit status
>> make: *** [optim.x] Error 1
>>
>> which I feel is related to compiler having trouble with the code.
>> There is probably some obscure flag I need or something.
>>
>> Any ideas?
>>
>> Thanks
>> Matt
>>
>>
>>
>>
>>
>>
>> On Sep 20, 2008, at 8:51 AM, Samar Khatiwala wrote:
>>
>>> Hi Matt, Patrick
>>>
>>> Just to add to this, ranger has other versions of the blas/lapack
>>> libraries. If you want goto blas, do:
>>>
>>> module load gotoblas
>>>
>>> then link with:
>>>
>>> -L$TACC_PGI_GOTOBLAS_LIB -lgoto_lp64.a
>>>
>>> BLAS performance for your problem should be completely irrelevant
>>> (since the bottleneck is the
>>> function/gradient evaluation). So it really doesn't matter which
>>> library you use.
>>>
>>> Samar
>>>
>>>
>>> On Sep 20, 2008, at 11:07 AM, Patrick Heimbach wrote:
>>>
>>>>
>>>> Hi Matt,
>>>>
>>>> I'm supposed to be offline right now ;o)
>>>>
>>>> Samar is correct, on most platforms we don't use the BLAS
>>>> libblas anymore.
>>>> E.g. on IBM you were using the ESSL library.
>>>> On the Altix we are using optimized routines by K. Goto
>>>> (see lsopt/README).
>>>>
>>>> Let me know if Samar's instructions work, and we'll add them to
>>>> the doc.
>>>> Tom (and Samar?) were experimenting with the use of L-BFGS by
>>>> Nocedal,
>>>> and found very good performance in optimization.
>>>> We should try those as well
>>>>
>>>> Cheers
>>>> -p.
>>>>
>>>> On Sep 19, 2008, at 8:35 PM, Samar Khatiwala wrote:
>>>>
>>>>> Hi Matt,
>>>>>
>>>>> A wild guess: don't you need to compile BLAS on ranger to use
>>>>> optim? (I think its needed by the CG solver in the L-BFGS
>>>>> algorithm.)
>>>>>
>>>>> BLAS performance is not critical for this, but you might as
>>>>> well link to the optimized version available in the
>>>>> AMD acml library on ranger. Add this to your .login_user file:
>>>>>
>>>>> module load acml
>>>>>
>>>>> Then you can link against:
>>>>>
>>>>> /opt/apps/pgi7_1/acml/4.0.1/pgi64/lib/libacml.a
>>>>>
>>>>> or (safer)
>>>>>
>>>>> $TACC_ACML_LIB/libacml.a
>>>>>
>>>>> Samar
>>>>>
>>>>> On Sep 19, 2008, at 6:18 PM, Matthew Mazloff wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> Well I am having a hard time compiling optim.x on ranger. I
>>>>>> am not sure what I'm doing wrong...the compilation log starts
>>>>>> to look iffy at
>>>>>>
>>>>>> f77 -o optim.x optim_main.o optim_sub.o optim_numbmod.o
>>>>>> optim_initmod.o optim_readdata.o optim_writedata.o
>>>>>> optim_write_control.o xerbla.o simul.o -L. -L../
>>>>>> lsopt/ -llsopt_ecco -lblas
>>>>>> /opt/apps/binutils-amd/070220/bin/ld: skipping incompatible ../
>>>>>> lsopt//libblas.so when searching for -lblas
>>>>>> /opt/apps/binutils-amd/070220/bin/ld: skipping incompatible ../
>>>>>> lsopt//libblas.a when searching for -lblas
>>>>>> optim_sub.o: In function `optim_sub__':
>>>>>> optim_sub.f:(.text+0x1df): relocation truncated to fit:
>>>>>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>>>>>> section in optim_sub.o
>>>>>> optim_sub.f:(.text+0x27f): relocation truncated to fit:
>>>>>> R_X86_64_PC32 against symbol `optiparm_i__' defined in COMMON
>>>>>> section in optim_sub.o
>>>>>> optim_sub.f:(.text+0x2b1): relocation truncated to fit:
>>>>>> R_X86_64_32S against `.bss'
>>>>>> optim_sub.f:(.text+0x2ba): relocation truncated to fit:
>>>>>> R_X86_64_32S against `.bss'
>>>>>> optim_sub.f:(.text+0x2c3): relocation truncated to fit:
>>>>>> R_X86_64_32S against `.bss'
>>>>>> optim_sub.f:(.text+0x2c8): relocation truncated to fit:
>>>>>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>>>>>> section in optim_sub.o
>>>>>> optim_sub.f:(.text+0x2d6): relocation truncated to fit:
>>>>>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>>>>>> section in optim_sub.o
>>>>>> optim_sub.f:(.text+0x2f0): relocation truncated to fit:
>>>>>> R_X86_64_32 against symbol `optiparm_i__' defined in COMMON
>>>>>> section in optim_sub.o
>>>>>> optim_sub.f:(.text+0x2fe): relocation truncated to fit:
>>>>>> R_X86_64_32 against symbol `optiparm_r__' defined in COMMON
>>>>>> section in optim_sub.o
>>>>>> optim_sub.f:(.text+0x310): relocation truncated to fit:
>>>>>> R_X86_64_32S against symbol `optiparm_r__' defined in COMMON
>>>>>> section in optim_sub.o
>>>>>> optim_sub.f:(.text+0x315): additional relocation overflows
>>>>>> omitted from the output
>>>>>> collect2: ld returned 1 exit status
>>>>>> make: *** [optim.x] Error 1
>>>>>>
>>>>>>
>>>>>>
>>>>>> any advice?
>>>>>> Thanks
>>>>>> Matt
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> MITgcm-support mailing list
>>>>>> MITgcm-support at mitgcm.org
>>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>>>
>>>>> _______________________________________________
>>>>> MITgcm-support mailing list
>>>>> MITgcm-support at mitgcm.org
>>>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>>
>>>> ---
>>>> Patrick Heimbach | heimbach at mit.edu | http://www.mit.edu/~heimbach
>>>> MIT | EAPS 54-1518 | 77 Massachusetts Ave | Cambridge MA 02139 USA
>>>> FON +1-617-253-5259 | FAX +1-617-253-4464 | SKYPE patrick.heimbach
>>>>
>>>>
>>>> _______________________________________________
>>>> MITgcm-support mailing list
>>>> MITgcm-support at mitgcm.org
>>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>>
>>> _______________________________________________
>>> MITgcm-support mailing list
>>> MITgcm-support at mitgcm.org
>>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>>
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20080920/d14d89d1/attachment.htm>
More information about the MITgcm-support
mailing list