[Back]


Talks and Poster Presentations (with Proceedings-Entry):

M.A. Ertl:
"Software Vector Chaining";
Talk: Manlang'18, Linz; 2018-09-12 - 2018-09-13; in: "Proceedings of the 15th International Conference on Managed Languages & Runtimes", ACM, (2018), ISBN: 978-1-4503-6424-9; Paper ID 18, 9 pages.



English abstract:
Providing vectors of run-time determined length as
opaque value types is a good interface between the
machine-level SIMD instructions and portable
application-oriented programming languages.
Implementing vector operations requires a loop that
breaks the vector into SIMD-register-sized chunks.
A compiler can fuse the loops of several vector
operations together. However, during normal
compilation this is only easy if no other control
structures are involved. This paper explores an
alternative: collect a trace of vector operations at
run-time (following the program control flow during
this collecting step), and then perform the combined
vector loop. This arrangement has a certain
run-time overhead, but its implementation is simpler
and can happen independently, in a library.
Preliminary performance results indicate that the
overhead makes this approach beneficial only for
long vectors ($>1$KB). For shorter vectors, unfused
loops should be used in a library setting.
Fortunately, this choice can be made at run time,
individually for each vector operation.


"Official" electronic version of the publication (accessed through its Digital Object Identifier - DOI)
http://dx.doi.org/10.1145/3237009.3237021

Electronic version of the publication:
https://publik.tuwien.ac.at/files/publik_277354.pdf


Created from the Publication Database of the Vienna University of Technology.