Ronak,

Don't use Inline to pull in GSL. If GSL was available when you built PDL,
then you should have bindings for PDL::GSLSF, which includes Bessel, among
others. The documentation is a little scant, so let us know if you're not
sure how to pull it in or use it. Also, if your PDL was not compiled with
GSL special functions, we'll be happy to help you fix that.

David

On Tue, Sep 9, 2014 at 5:30 AM, Ronak Agrawal <[email protected]> wrote:

> Thanks everyone for the input
>
> Craig,
>
> $matrix = PDL->new_from_specification(15000,15000); # or use zeroes()
> $matrix->(:,($index)) .= pdl($p_arrayref);
> I tired for a small set of data and I could see the difference
> Is there any alternative if I dont knw (m,n) beforehand
>
> I am reading data from hash and storing each matrix ( $a, $b) in pdl
> matrix form via PDL::IO::Storable
>
> I set the $PDL::BIGPDL = 1;
> and to overcome "Too Long to print"  I had defined my $max_elem =
> 100000000 in subroutine PDL::Core::string {}
>
> I am using Virtual Machine with 1 GB Memory and therby I am getting Out of
> Memory for $a = sequnece 15000 * 15000
> Is there any way to tackle it...Currently i need to compute a Spare matrix
> of 12000 * 8000 and find A'A ( A transpose A )
>
> I tried working with GSL - GNU Scientific Library however I am unable to
> link the library
>
> I tried the following approach:
> BEGIN {
>     my $scipt_location = '-I$ENV{HOME}/dev/include/'
>     my $path_to_add = $script_location . "action/"                     ;
>     push @INC, $path_to_add                                            ;
> }
>
> AND
>
> use Inline Pdlpp => Config =>
> INC => "Wall -I$ENV{HOME}/dev/include/ -c",
> LIBS => "-L/$ENV{HOME}/dev/lib -lgsl -lgslcblas -lm",
> AUTO_INCLUDE => <<'EOINC',
> #include <gsl/gsl_sf_bessel.h>
> EOINC
> ;
> use Inline Pdlpp;
>
> Still Its not working
> Can you tell me the correct syntax.
>
> However while executing the code I found the Pdlpp slow
>
> On Sun, Sep 7, 2014 at 6:21 PM, Chris Marshall <[email protected]>
> wrote:
>
>> The tiled implementation appeared in PDL-2.007
>> so if you're using an older PDL version, you'll get
>> the extra slowdown for free!  :-)
>>
>> On Sun, Sep 7, 2014 at 8:45 AM, Chris Marshall <[email protected]>
>> wrote:
>> > Performance was also helped by the fact that the original
>> > inner product matmult algorithm was replaced by a tile
>> > based one which leads to better cache reuse,
>> >
>> > ,,,and you have Craig to thank for the implementation.  :-)
>> >
>> > --Chris
>> >
>> >
>> > On Sun, Sep 7, 2014 at 7:03 AM, David Mertens <[email protected]>
>> wrote:
>> >> It's also quite likely that Intel has heuristics to pre-fetch data, and
>> >> they're helping out. Maybe.
>> >>
>> >> David
>> >>
>> >>
>> >> On Sat, Sep 6, 2014 at 10:28 PM, Craig DeForest <
>> [email protected]>
>> >> wrote:
>> >>>
>> >>> Cool!  Maybe there are more cache hits than I expected (which was
>> none)...
>> >>>
>> >>> (Mobile)
>> >>>
>> >>>
>> >>> > On Sep 6, 2014, at 1:54 PM, Chris Marshall <[email protected]>
>> >>> > wrote:
>> >>> >
>> >>> > On my PC (2.8GHZ i7) it takes about an hour for the multiply
>> >>> > just using $a x $b as Craig shows.  I haven't tried using the
>> >>> > autothreading support to see how that changes things.
>> >>> >
>> >>> > As discussed already, GPU acceleration could allow for much
>> >>> > faster computation.  For a start Nvidia has a cuBLAS library
>> >>> > which implements matrix multiply which could be used to
>> >>> > optimize the performance.
>> >>> >
>> >>> > --Chris
>>
>
>
> _______________________________________________
> Perldl mailing list
> [email protected]
> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>
>


-- 
 "Debugging is twice as hard as writing the code in the first place.
  Therefore, if you write the code as cleverly as possible, you are,
  by definition, not smart enough to debug it." -- Brian Kernighan
_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to