Attachment 'notes_martin.txt'

Download

   1 Jan 31, 9:00 a.m.
   2 MPMPLAPACK: A Massively Parallel Multi-Precision Linear Algebra Package.
   3 Jason Martin
   4 
   5 Vaporware.  Slapped together to try multiple approaches
   6 
   7 The number theory computations he was doing would often reduce to linear algebra over Dedekind domains.
   8 This also occurs in algebraic geometry.
   9 There are not many pure math parallel linear algebra tools.
  10 
  11 Wants an open source software library that can
  12 	Handle linear algebra for modules over "nice" rings
  13 	Reasonably use all the cores on a desktop (single machine)
  14 	Reasonably use clusters or supercomputers
  15 	Droppable into favorite program
  16 	Portable
  17 	Very, very, very maintainable
  18 
  19 What is meant by Linear Algebra:
  20 	Operations on/with elements, blocks, rows/columns, etc.
  21 	BLAS-ish routines
  22 	Higher-level (HNF, SNF, JCF, etc.)
  23 	Lattice reductions, discriminants, etc. when possible
  24 	Sane (computationally) representations for products (wedge, tensor, direect, etc.)
  25 	Anything currently available on systems such as Magma
  26 "Nice" rings are integers, rationals, intergers modulo n, finite fields, polynomial rings over integers or integers modulo n or finite fields, Dedekind domains and their fraction fields, local rings, local fields, ...
  27 	Dedekind domains = rings of algebraic integers
  28 Cohn's algorithms all seem to reduce -eventually- to linear algebra over Dedekind domains
  29 
  30 At the pc level, parallel operations should make reasonable use of multicore systems, and should do this even when tasks aren't ridiculously time-intensive (most general applications should make use of the power).
  31 What is being developed should, at any level, easily replace current linear algebra in packages such as Pari and Macaulay 2, and be easily integrated into emerging packages.
  32 
  33 Portability:
  34 	Should be Pure ISO C  (with wrappers for usability)
  35 	Dependence only on established, well supported libraries.
  36 	64 bit clean (data structures that live in memory are masked to you until they're moved and you read in the middle of the data structure), byte-order neutral
  37 	Thread safe (all functions re-entrant)
  38 	Simple config and build operations.
  39 A lot of these portability issues will lead to a sub-optimal performance, but this is acceptable for portability.
  40 
  41 Maintainability:
  42 	Painfully rigorous coding standards.  For example, full test code for every function developed.  LAPACK is a good example of such rigorous standards.
  43 	(small-ish) pool of dedicated programmers.  Thinking GPL or LGPL license.
  44 There's a large disparity over which license to choose.  There's fine points of any number of licenses, mostly when it comes to funding, or use by companies.  Strong feelings in the different camps.
  45 
  46 Ideas for the future:
  47 	Runtime profiling and tuning.
  48 	Sparse / black box support
  49 	Fault tolerance
  50 
  51 Design decisions so far:
  52 	Modular (programming) design with recursive data types
  53 	Use pthreads/MPI hybrid approach?
  54 		-Allows single machine users to use library even if they don't have MPI.  The idea is to have a server with the library that the users can use without needing heavy MPI implementation.
  55 	Scalability in the future?  MPI and pthreads both have their advantages.  MPI scales more easily to large (cluster, heterogeneous, etc.) environments.
  56 
  57 	The scientific computing persons seem to be pushing for GASNet.
  58 	MPI has difficulty passing complicated data structures.
  59 
  60 Realistic approach to development:
  61 	Start with the domain of the integers.
  62 	Get an API specification by/around May 2007
  63 	Initial release of "working" code for August 2007
  64 
  65 There is are a -lot- of details to consider when designing a large package for multi-platform general use.  Architectures are so different across the machines that install-time tuning and the ability to fine-tune is almost paramount.

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2007-03-18 07:45:58, 2.6 KB) [[attachment:note_leykin.txt]]
  • [get | view] (2007-03-18 07:45:19, 1017.1 KB) [[attachment:notes_bradshaw.pdf]]
  • [get | view] (2007-03-18 07:44:00, 1.4 KB) [[attachment:notes_bradshaw.txt]]
  • [get | view] (2007-03-18 07:44:29, 1861.8 KB) [[attachment:notes_cohn.pdf]]
  • [get | view] (2007-03-18 07:45:58, 4.9 KB) [[attachment:notes_cohn.txt]]
  • [get | view] (2007-03-18 07:44:25, 2831.0 KB) [[attachment:notes_granger.pdf]]
  • [get | view] (2007-03-18 07:45:58, 8.5 KB) [[attachment:notes_granger.txt]]
  • [get | view] (2007-03-18 07:45:58, 5390.6 KB) [[attachment:notes_hart.pdf]]
  • [get | view] (2007-03-18 07:44:17, 4.3 KB) [[attachment:notes_hart.txt]]
  • [get | view] (2007-03-18 07:45:13, 9722.5 KB) [[attachment:notes_hida.pdf]]
  • [get | view] (2007-03-18 07:45:58, 5.1 KB) [[attachment:notes_hida.txt]]
  • [get | view] (2007-03-18 07:45:43, 8087.1 KB) [[attachment:notes_kostireas.pdf]]
  • [get | view] (2007-03-18 07:45:58, 2.2 KB) [[attachment:notes_kotsireas.txt]]
  • [get | view] (2007-03-18 07:43:37, 6987.6 KB) [[attachment:notes_martin.pdf]]
  • [get | view] (2007-03-18 07:44:00, 3.7 KB) [[attachment:notes_martin.txt]]
  • [get | view] (2007-03-18 07:44:00, 1.8 KB) [[attachment:notes_noel.txt]]
  • [get | view] (2007-03-18 07:44:43, 5104.2 KB) [[attachment:notes_pernet.pdf]]
  • [get | view] (2007-03-18 07:44:29, 6.1 KB) [[attachment:notes_pernet.txt]]
  • [get | view] (2007-03-18 07:45:17, 1269.8 KB) [[attachment:notes_qiang.pdf]]
  • [get | view] (2007-03-18 07:44:00, 2.1 KB) [[attachment:notes_qiang.txt]]
  • [get | view] (2007-03-18 07:44:17, 6255.7 KB) [[attachment:notes_roch.pdf]]
  • [get | view] (2007-03-18 07:45:17, 9.3 KB) [[attachment:notes_roch.txt]]
  • [get | view] (2007-03-18 07:44:00, 9297.3 KB) [[attachment:notes_yelick.pdf]]
  • [get | view] (2007-03-18 07:44:00, 7.9 KB) [[attachment:notes_yelick.txt]]
 All files | Selected Files: delete move to page copy to page

You are not allowed to attach a file to this page.