[Cython] gsoc: array expressions

Robert Bradshaw robertwb at gmail.com
Wed May 30 00:43:07 CEST 2012

On Tue, May 29, 2012 at 3:32 PM, mark florisson
<markflorisson88 at gmail.com> wrote:
> On 29 May 2012 23:29, Robert Bradshaw <robertwb at gmail.com> wrote:
>> On Tue, May 29, 2012 at 3:22 PM, mark florisson
>> <markflorisson88 at gmail.com> wrote:
>>>>>>> I started a new project, https://github.com/markflorisson88/minivect ,
>>>>>>> which currently features a simple C code generator. The specializer
>>>>>>> and astbuilder do most of the work of creating the right AST, so the
>>>>>>> code generator only has to implement code generation functions for
>>>>>>> simple expressions. Depending on how it progresses I will look at
>>>>>>> incorporating Theano's optimizations into it and having Theano use it
>>>>>>> as a C backend for compatible expressions.
>>>>>> I forgot to mention, it's still pretty basic, but it works for simple
>>>>>> arithmetic expressions with non-overlapping (shifted) memory from
>>>>>> Cython: https://github.com/markflorisson88/cython/commit/2c316abdbc1228597bbdf480f737a59213ee9532#L4R1
>>>>> So basically, this project is to be used as a git submodule in Cython,
>>>>> and to be shipped directly in the source distribution. Is there any
>>>>> objection to that?
>>>> I'm not sure this is the best long-term solution (the alternative
>>>> would be making it part of Cython or adding a dependency) but I think
>>>> that's fine for now. I'm assuming there that the end user doesn't
>>>> explicitly reference it, right? It's just an optimization if present.
>>>> - Robert
>>> The only gotcha is that when you checkout Cython from github you will
>>> need to update the submodule.
>> Manually, right? How badly do things go wrong if you forget to?
> Unfortunately, yes, I don't think there's an automatic way with git.
> The compiler could display an error message, like "did you forget to
> do ...".

OK. I think we can live with this at this stage of development.

- Robert

More information about the cython-devel mailing list