Help getting HelloMeshF77.F to run on GRUMMP

Tim Tautges tautges at mcs.anl.gov
Wed Nov 4 08:24:49 CST 2009



Mark Miller wrote:
> Hi Tim,
> 
> Two quick points.
> 
> Its NOT just setting breakpoints via function names thats a bit
> confusing. Its any time you are doing anything that involves
> interpreting names in the symbol table. Call stack tracing, output from
> linker, 'nm', 'gprof', etc. The names in the symbol table DO NOT match
> the names in the code. I think its manageable. But, I still want to
> point out that I think we could do better -- at the expense of an
> additional function call for Fortran callers.

I've always viewed wrapper layers as anathema, so you know my vote on that.
> 
> Next, can we at least put iMesh_f.h 'next to' iMesh.h in the repo?
> 
> Also, should we split out the iBase.h specific stuff in iMesh_f.h into
> an iBase_f.h, too?

In MOAB, we already split out iBase_f.h.  And yes, these should go into the repo; I think this is the first time anybody 
besides me/Jason have even looked at using this from Fortran.

- tim
> 
> Mark
> 
> 
> On Tue, 2009-11-03 at 15:46 -0600, Tim Tautges wrote:
>> Not that this justifies the current approach entirely, but at least we don't need to trace through 4-6 function layers 
>> from the application to the implementation, as we had to with the SIDL-based interface.  Also, it's only a subset of 
>> debugging operations for which you need to specify a breakpoint in terms of the iMesh function name.  Other operations 
>> include specifying by line, stepping into, specifying by name in the implementation-native function, etc.
>>
>>
>>
>>>> Well, many large Fortran applications use CPP to preprocess their fortran anyway (thus the .F extension, rather than .f 
>>>> or .f77), and all the systems I know of support this (that's not precise, but it's not worth the time to state 
>>>> properly).  So it's not a matter of doing it easily with the preprocessor.  The real crux is that we don't want to call 
>>>> wrapper functions, which impose an overhead that can be avoided.  One could argue you could do this with inlining too, 
>>>> but then you wouldn't be compatible with f77.
>>> Ok, I understand that. At least in theory. In practice, I really wonder
>>> if that overhead -- which would exist only for a fortran caller -- is
>>> going to be any factor in adoption.
>>>
>> Yes, so it's subjective.  Is the potential confusion during debugging (and possibly configuring for implementation 
>> developers) worth the overhead of a wrapper layer.
>>
>>
>>> Funny you should say that. Becuase, you just requested we add
>>> iBase_OPTION_NOT_PROCESSED.
>>>
>> Yep, but that proves my point, I think - out of all the enum values, just one new one in about 5 years doesn't seem like 
>> much.
>>
>> - tim
>>

-- 
================================================================
"You will keep in perfect peace him whose mind is
   steadfast, because he trusts in you."               Isaiah 26:3

              Tim Tautges            Argonne National Laboratory
          (tautges at mcs.anl.gov)      (telecommuting from UW-Madison)
          phone: (608) 263-8485      1500 Engineering Dr.
            fax: (608) 263-4499      Madison, WI 53706



More information about the tstt-interface mailing list