comp.lang.ada
 help / color / mirror / Atom feed
From: jpwoodruff@gmail.com
Subject: Re: A thicker binding for Lapack
Date: Mon, 31 Dec 2012 16:24:34 -0800 (PST)
Date: 2012-12-31T16:24:34-08:00	[thread overview]
Message-ID: <4a2b9c88-7d3e-4b21-90f0-a9b6054df813@googlegroups.com> (raw)
In-Reply-To: <lywqvzwcn1.fsf@pushface.org>

On Sunday, December 30, 2012 12:41:54 PM UTC-7, Simon Wright wrote:
> jpwoodruff@gmail.com writes:
> 
> 
> 
> > On Saturday, December 29, 2012 12:59:46 PM UTC-7, Simon Wright wrote:
> 
> >> jpwoodruff@gmail.com writes:
> 
> >> 
> 
> >> > Conclusion:   transpose appears necessary.
> 
> >> 
> 
> >> For info, the compiler (well, GNAT) will automatically transpose when
> 
> >> doing assignment between arrays with different conventions. And it's
> 
> >> quicker (not by very much at -O2, though).
> 
> >> 
> 
> >
> 
> > I'll be darned.  You are both right about pragma Convention.  I am
> 
> > going to unwrite some code.  Even my old gnat gpl 2010 got it right. 
> 
> > I need to (re)learn to trust Lady Ada.
> 
> >
> 
> >
> 
> > From Simon's context, I found System.Generic_Real_LAPACK. There is
> 
> > quite a lot there.  I want to spend some time reading that, then
> 
> > determine if (as I suspect) the problem I stated has already been
> 
> > solved by the structures there.
> 
> 
> 
> System.Generic_Real_LAPACK looks a bit off to me - lots of unchecked
> 
> conversions of address-of-array into access-to-another-array-type. But
> 
> it may do what you need.
> 
> 
> 
> NB, GNATs later than GCC 4.6 or GNAT GPL 2010 don't use LAPACK or
> 
> BLAS. I wrote a bit about this on comp.lang.ada at [1].
> 
> 
> 
> [1] http://coding.derkeiler.com/Archive/Ada/comp.lang.ada/2012-07/msg00138.html

I'm uncertain about what Ada lapack materials are in play.  Please
help me get the story of the several variations straight.

about System.Generic_Real_LAPACK -- 
Is it true that this structure that I see in my gpl 2010 is obsolete?
Has it been removed in later gnats?  Has interfaces.fortran.lapack met
the same fate?

About lapack.ads on sourceforge, attributed to NMA and SJW: --
Is this in fact the only low-level binding to the Fortran linear
algebra subroutines?

Properties of lapack.ads:
 - largely auto-generated.
 - covers the entire lapack library: single, double precision, real
and complex.  
 - defines array types with components and indices specified from
types defined by interfaces.fortran.
 - uses pragma fortran for vector and matrix array types.

Evidently conversion between columnwise and row-wise storage is
handled transparently by Ada language specification of pragma.
Transparent transposition happens on assignment (but not on parameter
elaboration?).  Some testing is in order here.

I considered enumerating the properties of System.Generic_Real_LAPACK
but if it's leaving, why bother?

John



  reply	other threads:[~2013-01-01  0:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-27 18:48 A thicker binding for Lapack jpwoodruff
2012-12-27 19:18 ` Shark8
2012-12-29 18:36   ` jpwoodruff
2012-12-29 19:59     ` Simon Wright
2012-12-30 18:05       ` jpwoodruff
2012-12-30 19:41         ` Simon Wright
2013-01-01  0:24           ` jpwoodruff [this message]
2012-12-27 20:37 ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox