Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: HPVM: A Portable Virtual Instruction Set for Heterogeneous Parallel
  Systems   We describe a programming abstraction for heterogeneous parallel hardware,
designed to capture a wide range of popular parallel hardware, including GPUs,
vector instruction sets and multicore CPUs. Our abstraction, which we call
HPVM, is a hierarchical dataflow graph with shared memory and vector
instructions. We use HPVM to define both a virtual instruction set (ISA) and
also a compiler intermediate representation (IR). The virtual ISA aims to
achieve both functional portability and performance portability across
heterogeneous systems, while the compiler IR aims to enable effective code
generation and optimization for such systems.
  HPVM effectively supports all forms of parallelism used to achieve
computational speedups (as opposed to concurrency), including task parallelism,
coarse-grain data parallelism, fine-grain data parallelism, and pipelined
parallelism. HPVM also enables flexible scheduling and tiling: different nodes
in the dataflow graph can be mapped flexibly to different combinations of
compute units, and the graph hierarchy expresses memory tiling, essential for
achieving high performance on GPU and CPU targets.

35
The categories of this paper are: mtrl-th
23
The categories of this paper are: solv-int
10
The categories of this paper are: q-bio
15
The categories of this paper are: nucl-ex
28
The categories of this paper are: alg-geom
5
The categories of this paper are: gr-qc
20
The categories of this paper are: acc-phys
18
The categories of this paper are: econ
16
The categories of this paper are: stat
22
The categories of this paper are: chao-dyn
24
The categories of this paper are: dg-ga
25
The categories of this paper are: patt-sol
33
The categories of this paper are: plasm-ph
4
The categories of this paper are: cond-mat
17
The categories of this paper are: q-fin
14
The categories of this paper are: math-ph