Thanks for the answers, I think than working on the sequence
operations would be interesting and of a reasonable challenge. I think
what would be most helpful in writing a proposal would be getting a
better idea of the sbcl code base and the development process. I think
the best way of doing this is probably to work on some small bit of
code or write some documentation for sbcl. What would be a good place
to get started with this, I've looked at some bugs on launchpad and
some of them seem doable by me (writing documentation if nothing else)
but I'm not sure how to go about proposing a fix to something or
submitting documentation for review. How exactly would I go about
getting involved, or is there some documentation out there on how to
get started with sbcl development that I could look into.
On Mon, Apr 15, 2013 at 8:00 PM, Paul Khuong <pvk@...> wrote:
> Tucker DiNapoli wrote:
>> I have been using sbcl for compiling
>> my scientific code. I would like to participate in the summer of code
>> by working on the proposal for Vectorised sequence operations.
>> I have a few questions about the project. Firstly if I have enough
>> of a prerequisite knowledge base to work on this project, I have no
>> experience with the sbcl code base and am more familiar with c than
>> common lisp (though I do know common lisp).
> I wouldn't expect the bulk of the work to be deep in SBCL. You would have to
> use some extensions, but nothing really different from regular unportable CL
> code (at least, for the start). So, if you can write complete CL programs
> and understand SSE intrinsics at the level they're exposed in C, you're
> probably OK.
>> Also I would like to know
>> more about what the project would entail. What sort of vectorisable
>> operations would be desired, would they be scientific operations (i.e.
>> vector multiplication or finite difference differential equations) or
>> graphical operations (i.e video decoding/encoding and the like) or a
>> combination of the two, or something else. Also how much of the code
>> would be common lisp and how much if any in c or assembly.
> When I wrote the project description, what I had in mind was mostly integer
> operations. Going through the Sequence dictionary section of the CLHS,
> COPY-SEQ, FILL, COUNT, [N]REVERSE, FIND, POSITION, MISMATCH, REPLACE,
> SUBSTITUTE, and REMOVE on specialised vectors look like interesting
> candidates. So do bitvector operations, comparing specialised vectors of the
> same type for equality, and converting between simple-base-strings and
> However, it would be equally possible to instead target some REDUCE or
> MAP[-INTO] calls on specialised vectors. The work would be extremely
> similar… The only reason I originally thought of the operations above is
> that I'm guessing a lot more code calls FIND or POSITION than (MAP #'+) or
> (REDUCE #'MAX).
> Either way, the idea was to do it all in CL, with SBCL's
> soon-to-be-committed support for SSE intrinsics.
>> I am really interested in the idea of the summer of code and this
>> project is exactly in the area of my interest, so if there is any
>> knowledge or advice that would help in applying I would be happy to
>> hear that as well. If there is any thing I could do to prepare or any
>> specific ideas or topics I should learn more about I would welcome the
> If you find the suggestion inspiring and develop your own proposal, that's
> probably for the best. You can try and pitch it here or on IRC, and we can
> provide suggestions and feedback regarding feasibility (and usefulness on
> our end, to a certain extent). Maybe some people who've been involved with
> GSoC before will be able to throw in their 2c.
> Finally, while I've never been involved with GSoC before, I have watched a
> couple failures from afar. Mostly, I think the lesson is to try not to be
> too ambitious (e.g. projects on the order of developing an (E)DSL for
> scientific computing): it's only two-three months (: Plus, I think the odds
> of ultimately achieving really ambitious goals increase a lot when the first
> couple steps are more realistic.
> Paul Khuong