-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
118 lines (107 loc) · 5.19 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>ParallelME: Parallel Mobile Engine</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/style.css"/>
</head>
<body>
<div id="container">
<div id="header">
<a href="">ParallelME: Parallel Mobile Engine</a>
</div>
<div id="menu">
<a href="index.html">HOME</a>
<a href="source.html">SOURCE CODE</a>
<a href="docs.html">DOCUMENTATION</a>
<a href="people.html">TEAM</a>
</div>
<div id="sidebar">
<h1>Welcome</h1>
</div>
<div id="main">
<table cellpadding="10pt">
<tr>
<td>
<a href="https://github.com/ParallelME" target="blank">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/e7bbb0521b397edbd5fe43e7f760759336b5e05f/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677265656e5f3030373230302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_green_007200.png"></a>
</a>
</td>
</tr>
<tr>
<table cellpadding="10pt">
<tr>
<td>
<h2>Overview</h2>
<p>
Following the evolution of desktops, mobile architectures
are currently witnessing growth of processing power and
complexity with the addition of different processing units
like multi-core CPUs and GPUs. To facilitate programming
and coordinating resource usage in these heterogeneous
architectures, we present <b>ParallelME</b>, a <b>Parallel</b>
<b>M</b>obile <b>E</b>ngine designed to explore heterogeneity
in mobile computing architectures. ParallelME provides a
high-level library with a friendly programming language
abstraction for developers, facilitating the develoment
of operations that can be translated into low-level
parallel tasks. Additionally, these tasks are coordinated
by a proposed run-time framework, which is responsible for
scheduling and controlling the execution on the low-level
platform.
</p>
<h2>Programming Abstraction</h2>
<p>
ParallelME programming abstraction was inspired by ideas
found on the Scala collection library, which is a library
consisted of a set of different data structures with native
support for parallel processing. The goal for ParallelME
was to create a similar data-structure oriented library
that could be used to produce parallel code with minimum
effort by its user. In ParallelME, this set of data structures
is called User Library..
</p>
<h2>Source-to-Source Compiler</h2>
<p>
ParallelME source-to-source compiler was developed with
the incorporation of ANTLR, a powerful parser generator
widely used to build languages, tools and frameworks. We
used an ANTLR Java grammar to create a parser that was
used to build and walk a parse tree, being
the basis for ParallelME compiler. It takes as
an input Java code written with ParallelME user-library
and translates it into C code compatible with RenderScript
and ParallelME run-time. Besides that, the compiler also
integrates the translated code in the high-performance
run-times with the Java original source, creating a
mechanism for dinamically choosing RenderScript or the
OpenCL-based ParallelME run-time, making the framework
compatible with all recent Android versions.
</p>
<h2>Run-time</h2>
<p>
The run-time component of ParallelME is responsible for
coordinating in an efficient way all processing units
available in the mobile architecture. It organizes and manages
low level tasks generated by ParallelME compiler from
code expressed in ParallelME user-library.
It was implemented in C++ and integrated with Android through
the NDK toolkit.
</p>
<h2>License</h2>
<p>
ParallelME source code is distributed under <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.
</p>
<p>
The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the <a href="https://creativecommons.org/licenses/by/3.0/">Creative Commons 3.0 Attribution License</a>.
</p>
</td>
</tr>
</table>
</tr>
</table>
</div>
<div id="footer"> ©2016 ParallelME Framework <span class="separator">|</span> <a href="people.html">ParallelME Team</a> </div>
</div>
</body>
</html>