IA 3 2020 Panel Michela Becchi Heterogeneous systems: a challenge - - PowerPoint PPT Presentation

ia 3 2020 panel
SMART_READER_LITE
LIVE PREVIEW

IA 3 2020 Panel Michela Becchi Heterogeneous systems: a challenge - - PowerPoint PPT Presentation

IA 3 2020 Panel Michela Becchi Heterogeneous systems: a challenge or an opportunity for irregular workloads n Successes Irregular algorithms on GPU Algorithm-specific acceleration Graph benchmark suites (e.g., Lonestar GPU,


slide-1
SLIDE 1

IA3 2020 Panel

Michela Becchi

slide-2
SLIDE 2

Michela Becchi

2

Heterogeneous systems: a challenge or an opportunity for irregular workloads

n Successes

» Irregular algorithms on GPU

  • Algorithm-specific acceleration
  • Graph benchmark suites (e.g., Lonestar GPU, Pannotia)
  • Graph processing frameworks (e.g., TOTEM, CuSha,

GunRock, Frog, …)

» Irregular algorithms on FPGA

  • Algorithm-specific acceleration (mostly VHDL/Verilog)
  • Some graph processing frameworks (e.g., GraphOps,

GraVF, ForeGraph)

slide-3
SLIDE 3

Michela Becchi

3

Heterogeneous systems: a challenge or an opportunity for irregular workloads

n Challenges » Irregular memory access patterns » Branch divergence » Work imbalance (dependent on graph topology) » Synchronization » Input-dependent behavior » Scaling to large graphs: multi-device solutions, partitioning, parallelization » Choice of graph processing model (e.g., vertex-centric, edge-centric, gather-apply-scatter, bulk-synchronous parallel, …)

slide-4
SLIDE 4

Michela Becchi

4

Heterogeneous systems: a challenge or an opportunity for irregular workloads

n Opportunities » Increasing heterogeneity (GPU+FPGA) with uniform programming interface (e.g., OpenCL, DPC++)

  • Compiler techniques: retarget OpenCL code to FPGA and optimize,

automatically split computation

  • Runtime techniques: mapping & scheduling, partitioning,…
  • Alternative programming/execution models

» Memory heterogeneity

  • Non-volatile memory
  • In-memory processing (e.g., GraphP, GraphQ)

» Approximate computing

  • Definition of “acceptable accuracy”?

» Integration in complex applications

  • Benchmark development?

» Evolving graphs » Ad-hoc graph processing accelerators or GPU/FPGA/…?