YoVDO

Vector API for Java: Overview, Implementation, and Design Challenges

Offered By: Java via YouTube

Tags

Java Courses Code Generation Courses Parallel Computing Courses SIMD Courses Vector API Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the Vector API for Java in this 46-minute conference talk. Dive into the project's goals, terminology, and motivation behind this new abstraction for vectors in Java. Learn about code snippets as a substrate, primitive implementation, and machine instruction binding. Examine the API structure, including fully realized expressiveness and higher-order components. Discover how to construct kernels using the Vector API and understand the challenges faced in creating an idiomatic design. Gain insights into statically typed wrappers, expression binding to method handles, and the concept of an embedded domain-specific language (EDSL). Compare the approach with expression trees and get a glimpse of ongoing work in this exciting area of Java development.

Syllabus

Intro
Overview
Introduction: Vector API Project Team
Terminology
Motivation
Project Goals
CodeSnippets as a Substrate
Implementing a Primitive
Binding to Machine Instruction
Checked Invocation
A Small Example
Generating C2 Code
Java Needs an Abstraction for Vectors
Structure of the API
Fully Realized Expressiveness
Kernel with Vector API
Higher Order Components
Kernel Construction
Statically Typed Wrappers
Quick Thoughts....
Expressions Bind to Method Handles.
Baby's First EDSL
Why Not Just Expression Trees?
Challenges to an Idiomatic Design
Continuing Work


Taught by

Java

Related Courses

Mojo Programming Language – Full Course for Beginners
freeCodeCamp
Vectorized Query Execution with SIMD - Lecture 8
CMU Database Group via YouTube
Query Vectorization vs. Compilation in Advanced Database Systems - Lecture 10
CMU Database Group via YouTube
Parallel Query Execution - Lecture 13
CMU Database Group via YouTube
One Billion Row Challenge: Optimizing Java for Massive Data Processing
Devoxx via YouTube