, , & _/ |\__'_|_|_|\__'_| |__/ Sacha Verweij and Jane - - PowerPoint PPT Presentation

sacha verweij and jane herriman
SMART_READER_LITE
LIVE PREVIEW

, , & _/ |\__'_|_|_|\__'_| |__/ Sacha Verweij and Jane - - PowerPoint PPT Presentation

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | , , & _/ |\__'_|_|_|\__'_| |__/ Sacha Verweij and Jane Herriman _ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` |


slide-1
SLIDE 1

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/

Sacha Verweij and Jane Herriman

, & ,

slide-2
SLIDE 2

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/

slide-3
SLIDE 3

productive

(lisp, python, ruby, matlab)

the two language problem

(asm, fortran, c, c++)

performant

either write code efficiently … or write efficient code

slide-4
SLIDE 4

use two languages (prototype + production) ergo the two language problem typical workaround?

slide-5
SLIDE 5

“looks like python, feels like lisp, runs like c“

slide-6
SLIDE 6

# python def sum(a): s = 0.0 for x in a: s += x return s # julia function sum(a) s = 0.0 for x in a s += x end return s end …looks like python…

slide-7
SLIDE 7

homoiconic dynamic parametric multiple dispatch highly polymorphic … …feels like lisp…

slide-8
SLIDE 8

# python def sum(a): s = 0.0 for x in a: s += x return s # julia function sum(a) s = 0.0 for x in a s += x end return s end …runs like c…

slide-9
SLIDE 9

“looks like python, feels like lisp, runs like c“

slide-10
SLIDE 10

1.0 release github stars

slide-11
SLIDE 11

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/ ,

, & ,

slide-12
SLIDE 12

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/ ,

, & ,

slide-13
SLIDE 13

an two language problem for teaching?

accessible & productive

(python, ruby, lua, matlab, …)

intro CS

(loops, variables, functions, control flow, …) (c/c++, lisps, fortran, rust, …)

powerful &/| performant

(types, architectures, compilers, performance, …)

advanced CS

we can smooth the way with

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/

slide-14
SLIDE 14

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/ ,

, & ,

slide-15
SLIDE 15

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/ ,

, &

slide-16
SLIDE 16

Home Google Group Contact Us Family Fun Learning Blog Linear Algebra: Foundations to Frontiers (LAFF) A MOOC on the edX platform. Current offering Fall 2018 (Aug. 1, 2018 - Dec. 17, 2018) Reviews Download! Linear Algebra: Foundations to Frontiers - Notes to LAFF With An e-book (PDF) that integrates the materials for LAFF , including 270+ short videos, answers to exercises, browser-based activities, and programming exercises for MATLAB. Watch the "Sizzle" Video":

FLAME Team launches…

Funded in part by the University

  • f Texas System and the National

Science Foundation (grant ACI- 1148125). LAFF-On Programming for Correctness (LAFF-On) A MOOC on the edX platform. Offering that started May 15, 2018 is now archived. Download! LAFF-On Programming for Correctness (Complete notes with answers.) An e-book (PDF) that integrates the materials for LAFF-On, including short videos, answers to exercises, browser-based activities, and programming exercises for MATLAB. Watch the "Sizzle" Video":

LAFF - On Programmin…

Funded in part by a gift from MathWorks and the National Science Foundation (grant ACI- 1550493). LAFF-On Programming for High Performance (LAFF-On PfHP) Materials under development. Download! LAFF-On Programming for High Performance (Notes and materials under development) A constantly changing e-book (PDF) with programming

  • exercises. For now, the

document will give you an idea

  • f what is coming. If you want to

be kept informed of major milestones, join the ULAFF-On google group. Some of the programming activities are now available on github. Stand by! Funded in part by the National Science Foundation (grant CCF- 1714091). Linear Algebra: Foundations to Frontiers - Notes on Numerical Linear Algebra Notes for a graduate level numerical linear algebra course. Download! Linear Algebra: Foundations to Frontiers - Notes on Numerical Linear Algebra An e-book (PDF) that is a collection of notes written for an introductory graduate level course on Numerical Linear Algebra. Funded in part by the National Science Foundation (grant ACI- 1148125). Join the ULAFF-On google group to stay informed.

slide-17
SLIDE 17

a stack for teaching high performance gemm

matlab

pseudocode prototyping exploration testing benching plotting down to the metal transparent performance model

c

WE HAD TO USE MEX FILES

slide-18
SLIDE 18

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/ ,

, &

slide-19
SLIDE 19

_ _ _ _(_)_ (_) | (_) (_) _ _ _| |_ __ _ | | | | | | |/ _` | | | |_| | | | (_| | _/ |\__'_|_|_|\__'_| |__/

slide-20
SLIDE 20

*.MEX