Jan Hoogenraad wrote:
> This indeed recudes the C file, now 41721775 bytes.
> Still > 2Gb compiler memory required; I'll have a look at other solutions.

It is not clear how you did the split.

I don't know if there is special Inline
functionality to split a single module
but I am surprised that the split did not
work out.

Something like:

pdl_lapack_00.pm : for routines d0001.f to d0010.f
pdl_lapack_01.pm : for routines d0011.f to d0020.f
...
pdl_lapack_99.pm : for routines d0991.f to d1000.f

so each PM only compiles the interface for ten
lapack routines.  Then you load the PM files for
only the needed routines.

This split would only be compiling 10 function
wrappers per PM file.  That should require much
less than the >2GB that you are seeing now....

--Chris

> Apparently, each function keeps still making generic code loops:
> adding a line like
>    GenericTypes => [D]
> still reduces C size, even if no untyped arguments are used.
> 
> I've tried to exclude ALL generic types with
>    GenericTypes => []
> But this does not help either.

With only 10 functions per module, generic loop
code should not be a problem.

> Similarly I have tried to give each array a named dimension, in order to
> avoid generation of loop code.
> Apparently, loops are generated, even though this is explicitly
> discouraged by, for example:
> pp_def('disnan',
>    Pars => 'double din(1);int [o] disnanqretval10z(1);',
>    GenericTypes => [D],
>    Code => '( $P(disnanqretval10z) )[0] = disnan_ ( $P(din)); ',
> );
> 
> 
> Christian Soeller wrote:
>> Not having looked at the code, one way to reduce C/XS file size is to 
>> explicitly type the PP arguments (e.g. float or double) so that 
>> typeloops are reduced. This generally makes sense with libraries that 
>> support only certain types anyway.
>>
>> Christian
>>
>> On 3/06/2009, at 8:33 AM, Jan Hoogenraad wrote:
>>
>>> Thanks a lot for the feedback.
>>> I've included your comments in the test code.
>>>
>>> The new test program can be found in lapack_090602.tgz, under
>>> https://sourceforge.net/tracker/?func=detail&atid=350612&aid=2774886&group_id=612
>>>  
>>>
>>>
>>> Can you help me out on the how to reduce the huge memory hunger (>>  2Gb
>>> swap space needed, then I have terminated the process) for compilation ?
>>> The intermediate C file grows to 43 Mb
>>> 42644492  lapack_link_pm_e10d.c
>>>
>>> At this moment, the users have to manually pick out the routines they
>>> actually are going to use.
>>>
>>> Chris Marshall wrote:
>>>> Jan Hoogenraad wrote:
>>>>> Victory.
>>>>
>>>> Congratulations and happy Pldpp-ing!
>>>>
>>>> Some suggestions below for the PDL testing...
>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> Perldl mailing list
>>> [email protected]
>>> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>>
>> -- 
>> Christian Soeller PhD   Dept. of Physiology  +64 9 3737599 x82770
>> University of Auckland  Auckland, New Zealand  fax +64 9 3737499
>>
>>
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 
> No virus found in this incoming message.
> Checked by AVG - www.avg.com 
> Version: 8.5.339 / Virus Database: 270.12.51/2151 - Release Date: 06/02/09 
> 17:53:00
> 


_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to