0% found this document useful (0 votes)
39 views

Paper Title (Use Style: Paper Title) : Subtitle As Needed (Paper Subtitle)

This document describes a source-to-source translation framework called MetaFork that aims to facilitate the design and implementation of concurrent programs across different concurrency platforms. MetaFork provides a high-level programming language extending C/C++ to express different models of concurrency like fork-join, SIMD, and pipelining parallelism. It also performs automatic code translation between concurrency platforms targeting multi-core architectures. The framework further aims to generate parallel code from serial code depending on machine and program parameters, and optimize code depending on unknown parameters at compile-time.

Uploaded by

chow saj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

Paper Title (Use Style: Paper Title) : Subtitle As Needed (Paper Subtitle)

This document describes a source-to-source translation framework called MetaFork that aims to facilitate the design and implementation of concurrent programs across different concurrency platforms. MetaFork provides a high-level programming language extending C/C++ to express different models of concurrency like fork-join, SIMD, and pipelining parallelism. It also performs automatic code translation between concurrency platforms targeting multi-core architectures. The framework further aims to generate parallel code from serial code depending on machine and program parameters, and optimize code depending on unknown parameters at compile-time.

Uploaded by

chow saj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

Paper Title* (use style: paper title)

Subtitle as needed (paper subtitle)

Authors Name/s per 1st Affiliation (Author) Authors Name/s per 2nd Affiliation (Author)
line 1 (of Affiliation): dept. name of organization line 1 (of Affiliation): dept. name of organization
line 2-name of organization, acronyms acceptable line 2-name of organization, acronyms acceptable
line 3-City, Country line 3-City, Country
line 4-e-mail address if desired line 4-e-mail address if desired

Abstract— Parallel programming is gaining ground in various I. INTRODUCTION


domains due to the tremendous computational power that it
brings; however, it also requires a substantial code crafting effort
In the past fifteen years, the pervasive ubiquity of multi-
to achieve performance improvement. Unfortunately, in most core processors has stimulated a constantly increasing effort
cases, performance tuning has to be accomplished manually by in the development of concurrency platforms, such as
programmers. We argue that automated tuning is necessary due CilkPlus [22, 98, 78], OpenMP [117, 14] and TBB [77]. While
to the combination of the following factors. First, code those programming languages are all based on the fork-join
optimization is machine-dependent. That is, optimization concurrency model [23], they largely differ in their way of
preferred on one machine may be not suitable for another expressing parallel algorithms and scheduling the
machine. Second, as the possible optimization search space corresponding tasks. Therefore, developing software code
increases, manually finding an optimized configuration is hard. combining libraries written with several of those languages is
Therefore, developing new compiler techniques for optimizing a challenge.
applications is of considerable interest.
Nevertheless there is a real need for facilitating
This paper aims at generating new techniques that will help interoperability between concurrency platforms. Consider for
programmers develop efficient algorithms and code targeting instance the field of symbolic computation. The DMPMC
hardware acceleration technologies, in a more effective manner. library 1 provides sparse polynomial arithmetic and is entirely
Our work is organized around a compilation framework, called written in OpenMP, meanwhile the BPAS library 2 provides
MetaFork, for concurrency platforms and its application to dense polynomial arithmetic and is entirely written in
automatic parallelization. MetaFork is a high-level programming CilkPlus. Polynomial system solvers require both sparse and
language extending C/C++, which combines several models of dense polynomial arithmetic and thus could take advantage of
concurrency including fork-join, SIMD and pipelining a combination of the DMPMC and BPAS libraries. However,
parallelism. MetaFork is also a compilation framework which CilkPlus and OpenMP have different run-time systems. In
aims at facilitating the design and implementation of concurrent order to achieve interoperability between them, an automatic
programs through four key features which make MetaFork source-to-source translation mechanism was desirable,
unique and novel: yielding the original objective for this thesis work.
(1) Perform automatic code translation between concurrency Another motivation for such a software tool is comparative
platforms targeting multi-core architectures. implementation with the objective of narrowing performance
bottlenecks. The underlying observation is that the same
(2) Provide a high-level language for expressing concurrency multithreaded algorithm, based on the fork-join parallelism
as in the fork-join model, the SIMD paradigm and the pipelining model, implemented with two different concurrency
parallelism. platforms, say CilkPlus and OpenMP, could result in very
different performance, often very hard to analyze and
(3) Generate parallel code from serial code with an emphasis
on code depending on machine or program parameters (e.g. compare. If one code scales well while the other does not, one
cache size, number of processors, number of threads per thread may suspect an inefficient implementation of the latter as well
block). as other possible causes such as higher level of parallelism
overheads. Translating the inefficient code to the other
(4) Optimize code depending on parameters that are language can help narrowing the problem. Indeed, if the
unknown at compile-time. translated code still does not scale, one can suspect an
implementation issue (say the programmer missed to
Keywords— source-to-source compiler, pipelining, parallelize one critical portion of the algorithm) whereas if
comprehensive parametric CUDA ker- nel generation, concurrency the translated code does scale, then one can suspect a
platforms, high-level parallel programming. parallelism overhead issue in the original code (say the grain-
size of a parallel for-loop is too small).
In the past decade, the introduction of low-level II. EASE OF USE
heterogeneous programming models, in particular CUDA [5,
116], has brought super-computing to the level of the desktop A. Selecting a Template (Heading 2)
computer. However, these models bring notable challenges, First, confirm that you have the correct template for your
even to expert programmers. Indeed, fully exploiting the paper size. This template has been tailored for output on the
power of hardware accelerators, in particular Graphics A4 paper size. If you are using US letter-sized paper, please
Processing Units (GPUs) [106], with CUDA-like code often close this file and download the file “MSW_USltr_format”.
requires significant code optimization effort. While this
development can indeed yield high performance [12], it is B. Maintaining the Integrity of the Specifications
desirable for some programmers to avoid the explicit
management of device initialization and data transfer between The template is used to format your paper and style the
memory levels. To this end, high-level models for accelerator text. All margins, column widths, line spaces, and text fonts
programming have become an important research direction. are prescribed; please do not alter them. You may note
With these models, programmers only need to annotate their peculiarities. For example, the head margin in this template
C/C++ code to indicate which code portion is to be executed measures proportionately more than is customary. This
on the device and how data maps between host and device. measurement and others are deliberate, using specifications
that anticipate your paper as one part of the entire proceedings,
As a consequence, it is desirable for our proposed source- and not as an independent document. Please do not revise any
to-source translation framework not to restrict itself to of the current designations.
programming languages based on the fork-join concurrency
model, but also to include the low-level heterogeneous
III. PREPARE YOUR PAPER BEFORE STYLING
programming model of CUDA which mainly relies on the
Single Instruction Multiple Data (SIMD) paradigm, yielding Before you begin to format your paper, first write and save
the second motivation of this thesis work. the content as a separate text file. Keep your text and graphic
files separate until after the text has been formatted and styled.
As of today, OpenMP and OpenACC [6, 144] are among Do not use hard tabs, and limit use of hard returns to only one
the most developed accelerator programming models. Both return at the end of a paragraph. Do not add any kind of
OpenMP and OpenACC are built on a host-centric execution pagination anywhere in the paper. Do not number text heads-
model. The execution of the program starts on the host and the template will do that for you.
may offload target regions to the device for execution. The
device may have a separated memory space or may share Finally, complete content and organizational editing before
memory with the host, so that memory coherence is not formatting. Please take note of the following items when
guaranteed and must be handled by the programmer. In proofreading spelling and grammar:
OpenMP and OpenACC, the division of the work between
thread blocks within a grid and, between threads within a A. Abbreviations and Acronyms
thread block can be expressed in a loose manner, or even Define abbreviations and acronyms the first time they are
ignored. This implies that code optimization techniques may used in the text, even after they have been defined in the
be applied in order to derive efficient CUDA-like code. Of abstract. Abbreviations such as IEEE, SI, MKS, CGS, sc, dc,
course, this is a non-obvious task for a variety of reasons. First and rms do not have to be defined. Do not use abbreviations in
of all, for portability reasons, the hardware characteristics of the title or heads unless they are unavoidable.
the targeted GPU device should not be assumed to be known
in a source code written with a high-level models for B. Units
accelerator programming. Secondly, and partially as a
consequence, program parameters (like grid and thread block  Use either SI (MKS) or CGS as primary units. (SI
formats) should not be assumed to be known either in that units are encouraged.) English units may be used as
same source code. Therefore, this source code should depend secondary units (in parentheses). An exception would
on parameters which are symbolic entities with unknown be the use of English units as identifiers in trade, such
values at compile time. as “3.5-inch disk drive.”
Being able to generate (say from annotated C/C++) and  Avoid combining SI and CGS units, such as current in
optimize such parametric CUDA- like code is the third amperes and magnetic field in oersteds. This often
objective of this thesis work. As we shall see, achieving this leads to confusion because equations do not balance
objective leads to manipulate systems of non-linear dimensionally. If you must use mixed units, clearly
polynomial constraints, which makes this process complex state the units for each quantity that you use in an
and challenging. equation.
 Do not mix complete spellings and abbreviations of
units: “Wb/m2” or “webers per square meter,” not
. “webers/m2.” Spell units when they appear in text: “...a
few henries,” not “...a few H.”
 Use a zero before decimal points: “0.25,” not “.25.”
Use “cm3,” not “cc.” (bullet list)
Identify applicable sponsor/s here. If no sponsors, delete this text box (sponsors).
C. Equations “compliment,” “discreet” and “discrete,” “principal”
The equations are an exception to the prescribed and “principle.”
specifications of this template. You will need to determine  Do not confuse “imply” and “infer.”
whether or not your equation should be typed using either the
Times New Roman or the Symbol font (please no other font).  The prefix “non” is not a word; it should be joined to
To create multileveled equations, it may be necessary to treat the word it modifies, usually without a hyphen.
the equation as a graphic and insert it into the text after your
 There is no period after the “et” in the Latin
paper is styled.
abbreviation “et al.”
Number equations consecutively. Equation numbers,
 The abbreviation “i.e.” means “that is,” and the
within parentheses, are to position flush right, as in (1), using
a right tab stop. To make your equations more compact, you abbreviation “e.g.” means “for example.”
may use the solidus ( / ), the exp function, or appropriate An excellent style manual for science writers is [7].
exponents. Italicize Roman symbols for quantities and
variables, but not Greek symbols. Use a long dash rather than IV. USING THE TEMPLATE
a hyphen for a minus sign. Punctuate equations with commas
or periods when they are part of a sentence, as in After the text edit has been completed, the paper is ready
for the template. Duplicate the template file by using the Save
As command, and use the naming convention prescribed by
ab  your conference for the name of your paper. In this newly
 created file, highlight all of the contents and import your
  prepared text file. You are now ready to style your paper; use
the scroll down window on the left of the MS Word
Note that the equation is centered using a center tab stop. Formatting toolbar.
Be sure that the symbols in your equation have been defined
before or immediately following the equation. Use “(1),” not A. Authors and Affiliations
“Eq. (1)” or “equation (1),” except at the beginning of a
The template is designed so that author affiliations are not
sentence: “Equation (1) is ...”
repeated each time for multiple authors of the same affiliation.
Please keep your affiliations as succinct as possible (for
D. Some Common Mistakes example, do not differentiate among departments of the same
 The word “data” is plural, not singular. organization). This template was designed for two affiliations.
 The subscript for the permeability of vacuum 0, and 1) For author/s of only one affiliation (Heading 3): To
other common scientific constants, is zero with change the default, adjust the template as follows.
subscript formatting, not a lowercase letter “o.” a) Selection (Heading 4): Highlight all author and
 In American English, commas, semi-/colons, periods, affiliation lines.
question and exclamation marks are located within b) Change number of columns: Select the Columns icon
quotation marks only when a complete thought or from the MS Word Standard toolbar and then select “1
name is cited, such as a title or full quotation. When Column” from the selection palette.
quotation marks are used, instead of a bold or italic
typeface, to highlight a word or phrase, punctuation c) Deletion: Delete the author and affiliation lines for
should appear outside of the quotation marks. A the second affiliation.
parenthetical phrase or statement at the end of a 2) For author/s of more than two affiliations: To change
sentence is punctuated outside of the closing the default, adjust the template as follows.
parenthesis (like this). (A parenthetical sentence is a) Selection: Highlight all author and affiliation lines.
punctuated within the parentheses.)
b) Change number of columns: Select the “Columns”
 A graph within a graph is an “inset,” not an “insert.” icon from the MS Word Standard toolbar and then select “1
The word alternatively is preferred to the word Column” from the selection palette.
“alternately” (unless you really mean something that
alternates). c) Highlight author and affiliation lines of affiliation 1
and copy this selection.
 Do not use the word “essentially” to mean
“approximately” or “effectively.” d) Formatting: Insert one hard return immediately after
the last character of the last affiliation line. Then paste down
 In your paper title, if the words “that uses” can the copy of affiliation 1. Repeat as necessary for each
accurately replace the word using, capitalize the “u”; if additional affiliation.
not, keep using lower-cased.
e) Reassign number of columns: Place your cursor to
 Be aware of the different meanings of the the right of the last character of the last affiliation line of an
homophones “affect” and “effect,” “complement” and even numbered affiliation (e.g., if there are five affiliations,
place your cursor at end of fourth affiliation). Drag the cursor writing Figure axis labels to avoid confusing the reader. As an
up to highlight all of the above author and affiliation lines. Go example, write the quantity “Magnetization,” or
to Column icon and select “2 Columns”. If you have an odd “Magnetization, M,” not just “M.” If including units in the
number of affiliations, the final affiliation will be centered on label, present them within parentheses. Do not label axes only
the page; all previous will be in two columns. with units. In the example, write “Magnetization (A/m)” or
“Magnetization (A ( m(1),” not just “A/m.” Do not label axes
B. Identify the Headings with a ratio of quantities and units. For example, write
Headings, or heads, are organizational devices that guide “Temperature (K),” not “Temperature/K.”
the reader through your paper. There are two types:
component heads and text heads. Acknowledgment (HEADING 5)
Component heads identify the different components of The preferred spelling of the word “acknowledgment” in
your paper and are not topically subordinate to each other. America is without an “e” after the “g.” Avoid the stilted
Examples include ACKNOWLEDGMENTS and expression “one of us (R. B. G.) thanks ...”. Instead, try “R. B.
REFERENCES, and for these, the correct style to use is G. thanks...”. Put sponsor acknowledgments in the
“Heading 5.” Use “figure caption” for your Figure captions, unnumbered footnote on the first page.
and “table head” for your table title. Run-in heads, such as
“Abstract,” will require you to apply a style (in this case,
italic) in addition to the style provided by the drop down menu
to differentiate the head from the text. References
Text heads organize the topics on a relational, hierarchical The template will number citations consecutively within
basis. For example, the paper title is the primary text head brackets [1]. The sentence punctuation follows the bracket [2].
because all subsequent material relates and elaborates on this Refer simply to the reference number, as in [3]—do not use
one topic. If there are two or more sub-topics, the next level “Ref. [3]” or “reference [3]” except at the beginning of a
head (uppercase Roman numerals) should be used and, sentence: “Reference [3] was the first ...”
conversely, if there are not at least two sub-topics, then no Number footnotes separately in superscripts. Place the
subheads should be introduced. Styles named “Heading 1,” actual footnote at the bottom of the column in which it was
“Heading 2,” “Heading 3,” and “Heading 4” are prescribed. cited. Do not put footnotes in the reference list. Use letters for
table footnotes.
C. Figures and Tables
Unless there are six authors or more give all authors’
1) Positioning Figures and Tables: Place figures and names; do not use “et al.”. Papers that have not been
tables at the top and bottom of columns. Avoid placing them published, even if they have been submitted for publication,
in the middle of columns. Large figures and tables may span should be cited as “unpublished” [4]. Papers that have been
across both columns. Figure captions should be below the accepted for publication should be cited as “in press” [5].
figures; table heads should appear above the tables. Insert Capitalize only the first word in a paper title, except for proper
figures and tables after they are cited in the text. Use the nouns and element symbols.
abbreviation “Fig. 1,” even at the beginning of a sentence. For papers published in translation journals, please give
the English citation first, followed by the original foreign-
TABLE I. TABLE STYLES
language citation [6].
Table Table Column Head
Head Table column subhead Subhead Subhead [1] G. Eason, B. Noble, and I.N. Sneddon, “On certain integrals of
copy More table copy a Lipschitz-Hankel type involving products of Bessel functions,” Phil.
Trans. Roy. Soc. London, vol. A247, pp. 529-551, April 1955.
a.
Sample of a Table footnote. (Table footnote) (references)
b. [2] J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol.
2. Oxford: Clarendon, 1892, pp.68-73.
Fig. 1. Example of a figure caption. (figure caption)
[3] I.S. Jacobs and C.P. Bean, “Fine particles, thin films and exchange
anisotropy,” in Magnetism, vol. III, G.T. Rado and H. Suhl, Eds. New
We suggest that you use a text box to insert a graphic York: Academic, 1963, pp. 271-350.
(which is ideally a 300 dpi resolution TIFF or EPS file [4] K. Elissa, “Title of paper if known,” unpublished.
with all fonts embedded) because this method is somewhat
[5] R. Nicole, “Title of paper with only first word capitalized,” J. Name
more stable than directly inserting a picture. Stand. Abbrev., in press.
To have non-visible rules on your frame, use the [6] Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, “Electron spectroscopy
studies on magneto-optical media and plastic substrate interface,” IEEE
MSWord “Format” pull-down menu, select Text Box > Transl. J. Magn. Japan, vol. 2, pp. 740-741, August 1987 [Digests 9th
Colors and Lines to choose No Fill and No Line. Annual Conf. Magnetics Japan, p. 301, 1982].
Figure Labels: Use 8 point Times New Roman for Figure [7] M. Young, The Technical Writer’s Handbook. Mill Valley, CA:
labels. Use words rather than symbols or abbreviations when University Science, 1989.

You might also like