[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SSE warnings, Band matrix request feature

Greetings!  Two items:

1) In trying to clean up the warnings on the l2 SSE kernels, I'm
   finding that many of them only appear when using the 2.96 (broken)
   gcc version on torc.  2.95.x and 3.0.2 don't appear to show these
   warnings, which refer to macro redefinitions, but I have only
   tested 3.0.2 on non-i386 machines.  In any case, my code includes
   the same header multiple times, between each of which a few key
   macros are changed.  And certain of the macros in the header file
   thus multiply included give the redefinition warning with 2.96,
   while others adjacently defined do not.  No apparent rhyme or
   reason.  I can certainly work around with undef's, or some moderate
   rewriting, but I'd like to get a minimal fix in first, so I'm
   wondering whether 2.96 is faulty in this respect and should be
   ignored.  As long as I've used these macros, redefining the same
   macro to the same value never produces a warning, but maybe I've
   been relying on non-standard cpp all this time.

2) I've gotten interested in band matrices recently, and am wondering
   how atlas handles these.  Take the extreme case of a diagonal
   matrix, 'band packed' so that the diagonal elements are contiguous in
   memory.   For s{tsg}bmv, there seems to be no way the basic atlas
   code can hand this off to a kernel without moving the memory
   around.  But this would be an easily vectorizeable operation.
   Should we have a 4rth l2 kernel to deal with band matrices?

Take care,

Camm Maguire			     			camm@enhanced.com
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah