From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13528 invoked by alias); 4 Apr 2014 20:31:07 -0000 Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org Received: (qmail 13519 invoked by uid 89); 4 Apr 2014 20:31:06 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-we0-f174.google.com Received: from mail-we0-f174.google.com (HELO mail-we0-f174.google.com) (74.125.82.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 04 Apr 2014 20:31:05 +0000 Received: by mail-we0-f174.google.com with SMTP id t60so3961483wes.19 for ; Fri, 04 Apr 2014 13:31:02 -0700 (PDT) X-Received: by 10.181.13.112 with SMTP id ex16mr7261723wid.23.1396643462292; Fri, 04 Apr 2014 13:31:02 -0700 (PDT) MIME-Version: 1.0 Received: by 10.194.185.141 with HTTP; Fri, 4 Apr 2014 13:30:41 -0700 (PDT) In-Reply-To: <533EE585.40301@colorado.edu> References: <533EE354.4050204@colorado.edu> <533EE585.40301@colorado.edu> From: Rhys Ulerich Date: Fri, 04 Apr 2014 20:31:00 -0000 Message-ID: Subject: Re: GSL v2.0 discussion To: Patrick Alken Cc: "gsl-discuss@sourceware.org" Content-Type: text/plain; charset=ISO-8859-1 X-SW-Source: 2014-q2/txt/msg00008.txt.bz2 Hi Patrick, My TODOs for 2.0 include... -- Merging some code for Konrad (the same Hermite stuff you mentioned) -- Merging the two B-spline workspaces into one On the libflame/LAPACK question you raise, and out-of-order response to 5 before 1 though 4.... > 5. Is there a strong preference for doing wrappers for both lapack and > flame? Should we only interface to lapack, due to the difficulties with > flame (global state, abort() error handling)? Should we only interface to > flame due to its more modern design? Maintaining two sets of linear algebra backends is error prone and will stretch our already thin time to hack on GSL. We might take an intermediate approach and target http://www.netlib.org/lapack/lapacke.html. That'll solve C-to-Fortran linkage hell for legacy LAPACK (assuming vendors support it) and aiming for the standard-ish API follows the GSL precedent of writing to the CBLAS API. As libflame has a LAPACK-compatibility layer ("lapack2flame"), any LAPACKE "shim" permitting talking to a legacy LAPACK would also permit talking to a fairly large subset of libflame. Assuming success with that LAPACKE idea and a good driving use case, we could marry GSL more closely with libflame down the road. > 1. Should we try to add lapack/flame interfaces for the 2.0 release or wait > until 3.0? I personally probably won't have a lot of time to work on this > for several months. Ditto here on the time crunch for a few months (stupid overdue thesis). I'd aim for LAPACKE in 2.0 and, if needed, tighter libflame in 3.0. > 2. Is it better to select gsllinalg/lapack/flame at compile time or link > time? Link time, and presumably an invisible thing for us with LAPACKE provided that the Autoconf infrastructure can find something sensible for 'make check' > 3. Whats the best way to handle the memory workspace requirements (add > _alloc functions to all gsl_linalg routines or dynamic allocation)? Use of high-level LAPACKE claims to handle workspace allocation. If it becomes performance critical somewhere, we could manage it internally and use the medium-level API along with explicit management. > 4. What should we do about error handling in libflame? Just accept the > abort() behavior? If libflame's LAPACK-compatibility does not include proper error handling and just calls abort(), well, that would be their problem to fix if they claim compatibility. Once upon a time I got Brian's permission to yank the gsl_error infrastructure for libflame and submitted a patch. That can be dug up if they want/need it. - Rhys