lilypond-user
[Top][All Lists]
Advanced

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

Re: Technical question


From: mskala
Subject: Re: Technical question
Date: Fri, 8 Apr 2016 00:01:10 -0500 (CDT)
User-agent: Alpine 2.20 (LNX 67 2015-01-07)

On Fri, 8 Apr 2016, Simon Albrecht wrote:
> My understanding is quite limited, but I believe this can’t give you much of
> an advantage, since most of the calculations done in LilyPond are not directly
> about graphics. If you compile a larger score, you’ll see that most of the

GPU computation is not only for graphics.  The GPU is simply a SIMD
(single instruction multiple data) parallel processor, capable of being
used for almost any large-scale numerical computation. Some of my
colleagues use them for scientific applications like doing matrix algebra
in search engine research.  So "is it directly about graphics?" is the
wrong question to ask; the right question is "does it involve many
repeated, but similar, numerical operations?"  Unfortunately, I think the
answer to *both* questions is "no" in the case of LilyPond.

LilyPond's computation seems mostly to be symbol-bashing:  following
pointers, making conditional decisions, rearranging lists in memory, and
so on.  The code path is constantly branching and changing, not repeating
in a small simple loop many times.  Symbol-bashing is exactly the kind of
thing GPUs are *not* good at.  There is very little in the way of
multiplying and dividing non-integers to evaluate the same function many
times on different input points, which is where a GPU can help.

-- 
Matthew Skala
address@hidden                 People before principles.
http://ansuz.sooke.bc.ca/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]