[Scipy-tickets] [SciPy] #1610: Feature request: wrap or expose more level 3 BLAS routines

SciPy Trac scipy-tickets@scipy....
Sun Feb 26 12:34:40 CST 2012


#1610: Feature request: wrap or expose more level 3 BLAS routines
--------------------------------+-------------------------------------------
 Reporter:  matthjw             |       Owner:  somebody   
     Type:  enhancement         |      Status:  new        
 Priority:  normal              |   Milestone:  Unscheduled
Component:  scipy.linalg        |     Version:  0.10.0     
 Keywords:  blas, level 3, dot  |  
--------------------------------+-------------------------------------------
 Dear all,

 This is essentially just a request to improve the situation here in
 scipy/scipy/linalg/fblas_l3.pyf.src:

 {{{
 ! Implemented:
 !   gemm
 ! Not Implemented:
 !   symm, hemm, syrk, herk, syr2k, her2k, trmm, trsm
 }}}

 I would offer a patch but fortran isn't exactly my strong point... :)

 Motivation: those who care to optimise these things could then get access
 to things like:

   * Better performance multiplying symmetric/hermitian/etc matrices
   * In-place additive updates in combination with matrix multiplications,
 saving memory
   * In particular, fast in-place rank k updates
   * Better performance multiplying matrices when one is C_CONTIGUOUS and
 the other is F_CONTIGUOUS

 Without having to drop down to lower-level code. In fact some of these are
 already noted on the Performance Tips page:

 http://www.scipy.org/PerformanceTips#head-
 a5a8d210cc636efc34184be66171fd55b9aeb35e

 In particular they bemoan the lack of _SYRK (symmetric rank K update)
 which could speed up calculation of gram matrices: dot(M.T, M)

 (Also: not sure if this would be more an issue for numpy, but it would
 also be nice if `dot' did a better job of picking optimal level-3 blas
 routines where possible, and/or allowed you to give hints as in dot(A,B,
 sym_a=True). Maybe could be done in a scipy.linalg.dot ?)

-- 
Ticket URL: <http://projects.scipy.org/scipy/ticket/1610>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.


More information about the Scipy-tickets mailing list