Email list hosting service & mailing list manager


Re: Developing on separate git fork and left-over SRFI 122 issues, particularly immutable specialized arrays. Bradley Lucier 29 Apr 2020 15:42 UTC

On 4/28/20 3:59 PM, Bradley Lucier wrote:
> For the moment I'm developing on
>
> https://github.com/gambiteer/srfi-179

I made another commit, somewhat motivated by Jeff's comments about using
GPUs.  The commit message is:

Implement block moves for assigning specialized arrays

This is a proof-of-concept for, e.g., fast moves beween
general memore and GPU memory.

generic-arrays.scm:

1.  Use the @vector-copy! procedures from R7RS small to implement
     block copies of the bodies of specialized arrays in array-assign!

2.  For Gambit, define @vector-copy! in terms of xxxxxx@vector-move!,
     which uses memmove; for R7RS small define c64vector-copy! and
     c128vector-copy!

test-arrays.scm:

1.  Define random-storage-class-and-initializer.

2.  Use it in testing array-assign!.

srfi-179.scm:

1.  Specify that in array-assign! and array-swap! the elements are
     accessed in an unspecified order.  Also make clear that if
     changing the destination affects the source, then the result
     is undefined. (Block moves might give different answers to
     element-by-element moves.)

srfi-179.html:

1.  Regenerate from srfi-179.scm.