diff --git a/iree/turbine/kernel/wave/docs/mlsys/.gitignore b/iree/turbine/kernel/wave/docs/mlsys/.gitignore deleted file mode 100644 index b4c7d64b..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -*.aux -*.log -*.out -*.pdf -*.synctex.gz -*.blg diff --git a/iree/turbine/kernel/wave/docs/mlsys/algorithm.sty b/iree/turbine/kernel/wave/docs/mlsys/algorithm.sty deleted file mode 100644 index 58d5bff6..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/algorithm.sty +++ /dev/null @@ -1,78 +0,0 @@ -% ALGORITHM STYLE -- Released 8 April 1996 -% for LaTeX-2e -% Copyright -- 1994 Peter Williams -% E-mail Peter.Williams@dsto.defence.gov.au -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{algorithm} -\typeout{Document Style `algorithm' - floating environment} - -\RequirePackage{float} -\RequirePackage{ifthen} -\newcommand{\ALG@within}{nothing} -\newboolean{ALG@within} -\setboolean{ALG@within}{false} -\newcommand{\ALG@floatstyle}{ruled} -\newcommand{\ALG@name}{Algorithm} -\newcommand{\listalgorithmname}{List of \ALG@name s} - -% Declare Options -% first appearance -\DeclareOption{plain}{ - \renewcommand{\ALG@floatstyle}{plain} -} -\DeclareOption{ruled}{ - \renewcommand{\ALG@floatstyle}{ruled} -} -\DeclareOption{boxed}{ - \renewcommand{\ALG@floatstyle}{boxed} -} -% then numbering convention -\DeclareOption{part}{ - \renewcommand{\ALG@within}{part} - \setboolean{ALG@within}{true} -} -\DeclareOption{chapter}{ - \renewcommand{\ALG@within}{chapter} - \setboolean{ALG@within}{true} -} -\DeclareOption{section}{ - \renewcommand{\ALG@within}{section} - \setboolean{ALG@within}{true} -} -\DeclareOption{subsection}{ - \renewcommand{\ALG@within}{subsection} - \setboolean{ALG@within}{true} -} -\DeclareOption{subsubsection}{ - \renewcommand{\ALG@within}{subsubsection} - \setboolean{ALG@within}{true} -} -\DeclareOption{nothing}{ - \renewcommand{\ALG@within}{nothing} - \setboolean{ALG@within}{true} -} -\DeclareOption*{\edef\ALG@name{\CurrentOption}} - -% ALGORITHM -% -\ProcessOptions -\floatstyle{\ALG@floatstyle} -\ifthenelse{\boolean{ALG@within}}{ - \ifthenelse{\equal{\ALG@within}{part}} - {\newfloat{algorithm}{htbp}{loa}[part]}{} - \ifthenelse{\equal{\ALG@within}{chapter}} - {\newfloat{algorithm}{htbp}{loa}[chapter]}{} - \ifthenelse{\equal{\ALG@within}{section}} - {\newfloat{algorithm}{htbp}{loa}[section]}{} - \ifthenelse{\equal{\ALG@within}{subsection}} - {\newfloat{algorithm}{htbp}{loa}[subsection]}{} - \ifthenelse{\equal{\ALG@within}{subsubsection}} - {\newfloat{algorithm}{htbp}{loa}[subsubsection]}{} - \ifthenelse{\equal{\ALG@within}{nothing}} - {\newfloat{algorithm}{htbp}{loa}}{} -}{ - \newfloat{algorithm}{htbp}{loa} -} -\floatname{algorithm}{\ALG@name} - -\newcommand{\listofalgorithms}{\listof{algorithm}{\listalgorithmname}} diff --git a/iree/turbine/kernel/wave/docs/mlsys/algorithmic.sty b/iree/turbine/kernel/wave/docs/mlsys/algorithmic.sty deleted file mode 100644 index 36fff486..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/algorithmic.sty +++ /dev/null @@ -1,187 +0,0 @@ -% ALGORITHMIC STYLE -- Released 8 APRIL 1996 -% for LaTeX version 2e -% Copyright -- 1994 Peter Williams -% E-mail PeterWilliams@dsto.defence.gov.au -% -% Modified by Alex Smola (08/2000) -% E-mail Alex.Smola@anu.edu.au -% -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{algorithmic} -\typeout{Document Style `algorithmic' - environment} -% -\RequirePackage{ifthen} -\RequirePackage{calc} -\newboolean{ALC@noend} -\setboolean{ALC@noend}{false} -\newcounter{ALC@line} -\newcounter{ALC@rem} -\newlength{\ALC@tlm} -% -\DeclareOption{noend}{\setboolean{ALC@noend}{true}} -% -\ProcessOptions -% -% ALGORITHMIC -\newcommand{\algorithmicrequire}{\textbf{Require:}} -\newcommand{\algorithmicensure}{\textbf{Ensure:}} -\newcommand{\algorithmiccomment}[1]{\{#1\}} -\newcommand{\algorithmicend}{\textbf{end}} -\newcommand{\algorithmicif}{\textbf{if}} -\newcommand{\algorithmicthen}{\textbf{then}} -\newcommand{\algorithmicelse}{\textbf{else}} -\newcommand{\algorithmicelsif}{\algorithmicelse\ \algorithmicif} -\newcommand{\algorithmicendif}{\algorithmicend\ \algorithmicif} -\newcommand{\algorithmicfor}{\textbf{for}} -\newcommand{\algorithmicforall}{\textbf{for all}} -\newcommand{\algorithmicdo}{\textbf{do}} -\newcommand{\algorithmicendfor}{\algorithmicend\ \algorithmicfor} -\newcommand{\algorithmicwhile}{\textbf{while}} -\newcommand{\algorithmicendwhile}{\algorithmicend\ \algorithmicwhile} -\newcommand{\algorithmicloop}{\textbf{loop}} -\newcommand{\algorithmicendloop}{\algorithmicend\ \algorithmicloop} -\newcommand{\algorithmicrepeat}{\textbf{repeat}} -\newcommand{\algorithmicuntil}{\textbf{until}} - -%changed by alex smola -\newcommand{\algorithmicinput}{\textbf{input}} -\newcommand{\algorithmicoutput}{\textbf{output}} -\newcommand{\algorithmicset}{\textbf{set}} -\newcommand{\algorithmictrue}{\textbf{true}} -\newcommand{\algorithmicfalse}{\textbf{false}} -\newcommand{\algorithmicand}{\textbf{and\ }} -\newcommand{\algorithmicor}{\textbf{or\ }} -\newcommand{\algorithmicfunction}{\textbf{function}} -\newcommand{\algorithmicendfunction}{\algorithmicend\ \algorithmicfunction} -\newcommand{\algorithmicmain}{\textbf{main}} -\newcommand{\algorithmicendmain}{\algorithmicend\ \algorithmicmain} -%end changed by alex smola - -\def\ALC@item[#1]{% -\if@noparitem \@donoparitem - \else \if@inlabel \indent \par \fi - \ifhmode \unskip\unskip \par \fi - \if@newlist \if@nobreak \@nbitem \else - \addpenalty\@beginparpenalty - \addvspace\@topsep \addvspace{-\parskip}\fi - \else \addpenalty\@itempenalty \addvspace\itemsep - \fi - \global\@inlabeltrue -\fi -\everypar{\global\@minipagefalse\global\@newlistfalse - \if@inlabel\global\@inlabelfalse \hskip -\parindent \box\@labels - \penalty\z@ \fi - \everypar{}}\global\@nobreakfalse -\if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter{\@listctr}\fi \fi -\sbox\@tempboxa{\makelabel{#1}}% -\global\setbox\@labels - \hbox{\unhbox\@labels \hskip \itemindent - \hskip -\labelwidth \hskip -\ALC@tlm - \ifdim \wd\@tempboxa >\labelwidth - \box\@tempboxa - \else \hbox to\labelwidth {\unhbox\@tempboxa}\fi - \hskip \ALC@tlm}\ignorespaces} -% -\newenvironment{algorithmic}[1][0]{ -\let\@item\ALC@item - \newcommand{\ALC@lno}{% -\ifthenelse{\equal{\arabic{ALC@rem}}{0}} -{{\footnotesize \arabic{ALC@line}:}}{}% -} -\let\@listii\@listi -\let\@listiii\@listi -\let\@listiv\@listi -\let\@listv\@listi -\let\@listvi\@listi -\let\@listvii\@listi - \newenvironment{ALC@g}{ - \begin{list}{\ALC@lno}{ \itemsep\z@ \itemindent\z@ - \listparindent\z@ \rightmargin\z@ - \topsep\z@ \partopsep\z@ \parskip\z@\parsep\z@ - \leftmargin 1em - \addtolength{\ALC@tlm}{\leftmargin} - } - } - {\end{list}} - \newcommand{\ALC@it}{\addtocounter{ALC@line}{1}\addtocounter{ALC@rem}{1}\ifthenelse{\equal{\arabic{ALC@rem}}{#1}}{\setcounter{ALC@rem}{0}}{}\item} - \newcommand{\ALC@com}[1]{\ifthenelse{\equal{##1}{default}}% -{}{\ \algorithmiccomment{##1}}} - \newcommand{\REQUIRE}{\item[\algorithmicrequire]} - \newcommand{\ENSURE}{\item[\algorithmicensure]} - \newcommand{\STATE}{\ALC@it} - \newcommand{\COMMENT}[1]{\algorithmiccomment{##1}} -%changes by alex smola - \newcommand{\INPUT}{\item[\algorithmicinput]} - \newcommand{\OUTPUT}{\item[\algorithmicoutput]} - \newcommand{\SET}{\item[\algorithmicset]} -% \newcommand{\TRUE}{\algorithmictrue} -% \newcommand{\FALSE}{\algorithmicfalse} - \newcommand{\AND}{\algorithmicand} - \newcommand{\OR}{\algorithmicor} - \newenvironment{ALC@func}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@main}{\begin{ALC@g}}{\end{ALC@g}} -%end changes by alex smola - \newenvironment{ALC@if}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@for}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@whl}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@loop}{\begin{ALC@g}}{\end{ALC@g}} - \newenvironment{ALC@rpt}{\begin{ALC@g}}{\end{ALC@g}} - \renewcommand{\\}{\@centercr} - \newcommand{\IF}[2][default]{\ALC@it\algorithmicif\ ##2\ \algorithmicthen% -\ALC@com{##1}\begin{ALC@if}} - \newcommand{\SHORTIF}[2]{\ALC@it\algorithmicif\ ##1\ - \algorithmicthen\ {##2}} - \newcommand{\ELSE}[1][default]{\end{ALC@if}\ALC@it\algorithmicelse% -\ALC@com{##1}\begin{ALC@if}} - \newcommand{\ELSIF}[2][default]% -{\end{ALC@if}\ALC@it\algorithmicelsif\ ##2\ \algorithmicthen% -\ALC@com{##1}\begin{ALC@if}} - \newcommand{\FOR}[2][default]{\ALC@it\algorithmicfor\ ##2\ \algorithmicdo% -\ALC@com{##1}\begin{ALC@for}} - \newcommand{\FORALL}[2][default]{\ALC@it\algorithmicforall\ ##2\ % -\algorithmicdo% -\ALC@com{##1}\begin{ALC@for}} - \newcommand{\SHORTFORALL}[2]{\ALC@it\algorithmicforall\ ##1\ % - \algorithmicdo\ {##2}} - \newcommand{\WHILE}[2][default]{\ALC@it\algorithmicwhile\ ##2\ % -\algorithmicdo% -\ALC@com{##1}\begin{ALC@whl}} - \newcommand{\LOOP}[1][default]{\ALC@it\algorithmicloop% -\ALC@com{##1}\begin{ALC@loop}} -%changed by alex smola - \newcommand{\FUNCTION}[2][default]{\ALC@it\algorithmicfunction\ ##2\ % - \ALC@com{##1}\begin{ALC@func}} - \newcommand{\MAIN}[2][default]{\ALC@it\algorithmicmain\ ##2\ % - \ALC@com{##1}\begin{ALC@main}} -%end changed by alex smola - \newcommand{\REPEAT}[1][default]{\ALC@it\algorithmicrepeat% - \ALC@com{##1}\begin{ALC@rpt}} - \newcommand{\UNTIL}[1]{\end{ALC@rpt}\ALC@it\algorithmicuntil\ ##1} - \ifthenelse{\boolean{ALC@noend}}{ - \newcommand{\ENDIF}{\end{ALC@if}} - \newcommand{\ENDFOR}{\end{ALC@for}} - \newcommand{\ENDWHILE}{\end{ALC@whl}} - \newcommand{\ENDLOOP}{\end{ALC@loop}} - \newcommand{\ENDFUNCTION}{\end{ALC@func}} - \newcommand{\ENDMAIN}{\end{ALC@main}} - }{ - \newcommand{\ENDIF}{\end{ALC@if}\ALC@it\algorithmicendif} - \newcommand{\ENDFOR}{\end{ALC@for}\ALC@it\algorithmicendfor} - \newcommand{\ENDWHILE}{\end{ALC@whl}\ALC@it\algorithmicendwhile} - \newcommand{\ENDLOOP}{\end{ALC@loop}\ALC@it\algorithmicendloop} - \newcommand{\ENDFUNCTION}{\end{ALC@func}\ALC@it\algorithmicendfunction} - \newcommand{\ENDMAIN}{\end{ALC@main}\ALC@it\algorithmicendmain} - } - \renewcommand{\@toodeep}{} - \begin{list}{\ALC@lno}{\setcounter{ALC@line}{0}\setcounter{ALC@rem}{0}% - \itemsep\z@ \itemindent\z@ \listparindent\z@% - \partopsep\z@ \parskip\z@ \parsep\z@% - \labelsep 0.5em \topsep 0.2em% - \ifthenelse{\equal{#1}{0}} - {\labelwidth 0.5em } - {\labelwidth 1.2em } - \leftmargin\labelwidth \addtolength{\leftmargin}{\labelsep} - \ALC@tlm\labelsep - } - } - {\end{list}} diff --git a/iree/turbine/kernel/wave/docs/mlsys/fancyhdr.sty b/iree/turbine/kernel/wave/docs/mlsys/fancyhdr.sty deleted file mode 100644 index 93bce8b3..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/fancyhdr.sty +++ /dev/null @@ -1,485 +0,0 @@ -% fancyhdr.sty version 3.2 -% Fancy headers and footers for LaTeX. -% Piet van Oostrum, -% Dept of Computer and Information Sciences, University of Utrecht, -% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands -% Telephone: +31 30 2532180. Email: piet@cs.uu.nl -% ======================================================================== -% LICENCE: -% This file may be distributed under the terms of the LaTeX Project Public -% License, as described in lppl.txt in the base LaTeX distribution. -% Either version 1 or, at your option, any later version. -% ======================================================================== -% MODIFICATION HISTORY: -% Sep 16, 1994 -% version 1.4: Correction for use with \reversemargin -% Sep 29, 1994: -% version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands -% Oct 4, 1994: -% version 1.6: Reset single spacing in headers/footers for use with -% setspace.sty or doublespace.sty -% Oct 4, 1994: -% version 1.7: changed \let\@mkboth\markboth to -% \def\@mkboth{\protect\markboth} to make it more robust -% Dec 5, 1994: -% version 1.8: corrections for amsbook/amsart: define \@chapapp and (more -% importantly) use the \chapter/sectionmark definitions from ps@headings if -% they exist (which should be true for all standard classes). -% May 31, 1995: -% version 1.9: The proposed \renewcommand{\headrulewidth}{\iffloatpage... -% construction in the doc did not work properly with the fancyplain style. -% June 1, 1995: -% version 1.91: The definition of \@mkboth wasn't restored on subsequent -% \pagestyle{fancy}'s. -% June 1, 1995: -% version 1.92: The sequence \pagestyle{fancyplain} \pagestyle{plain} -% \pagestyle{fancy} would erroneously select the plain version. -% June 1, 1995: -% version 1.93: \fancypagestyle command added. -% Dec 11, 1995: -% version 1.94: suggested by Conrad Hughes -% CJCH, Dec 11, 1995: added \footruleskip to allow control over footrule -% position (old hardcoded value of .3\normalbaselineskip is far too high -% when used with very small footer fonts). -% Jan 31, 1996: -% version 1.95: call \@normalsize in the reset code if that is defined, -% otherwise \normalsize. -% this is to solve a problem with ucthesis.cls, as this doesn't -% define \@currsize. Unfortunately for latex209 calling \normalsize doesn't -% work as this is optimized to do very little, so there \@normalsize should -% be called. Hopefully this code works for all versions of LaTeX known to -% mankind. -% April 25, 1996: -% version 1.96: initialize \headwidth to a magic (negative) value to catch -% most common cases that people change it before calling \pagestyle{fancy}. -% Note it can't be initialized when reading in this file, because -% \textwidth could be changed afterwards. This is quite probable. -% We also switch to \MakeUppercase rather than \uppercase and introduce a -% \nouppercase command for use in headers. and footers. -% May 3, 1996: -% version 1.97: Two changes: -% 1. Undo the change in version 1.8 (using the pagestyle{headings} defaults -% for the chapter and section marks. The current version of amsbook and -% amsart classes don't seem to need them anymore. Moreover the standard -% latex classes don't use \markboth if twoside isn't selected, and this is -% confusing as \leftmark doesn't work as expected. -% 2. include a call to \ps@empty in ps@@fancy. This is to solve a problem -% in the amsbook and amsart classes, that make global changes to \topskip, -% which are reset in \ps@empty. Hopefully this doesn't break other things. -% May 7, 1996: -% version 1.98: -% Added % after the line \def\nouppercase -% May 7, 1996: -% version 1.99: This is the alpha version of fancyhdr 2.0 -% Introduced the new commands \fancyhead, \fancyfoot, and \fancyhf. -% Changed \headrulewidth, \footrulewidth, \footruleskip to -% macros rather than length parameters, In this way they can be -% conditionalized and they don't consume length registers. There is no need -% to have them as length registers unless you want to do calculations with -% them, which is unlikely. Note that this may make some uses of them -% incompatible (i.e. if you have a file that uses \setlength or \xxxx=) -% May 10, 1996: -% version 1.99a: -% Added a few more % signs -% May 10, 1996: -% version 1.99b: -% Changed the syntax of \f@nfor to be resistent to catcode changes of := -% Removed the [1] from the defs of \lhead etc. because the parameter is -% consumed by the \@[xy]lhead etc. macros. -% June 24, 1997: -% version 1.99c: -% corrected \nouppercase to also include the protected form of \MakeUppercase -% \global added to manipulation of \headwidth. -% \iffootnote command added. -% Some comments added about \@fancyhead and \@fancyfoot. -% Aug 24, 1998 -% version 1.99d -% Changed the default \ps@empty to \ps@@empty in order to allow -% \fancypagestyle{empty} redefinition. -% Oct 11, 2000 -% version 2.0 -% Added LPPL license clause. -% -% A check for \headheight is added. An errormessage is given (once) if the -% header is too large. Empty headers don't generate the error even if -% \headheight is very small or even 0pt. -% Warning added for the use of 'E' option when twoside option is not used. -% In this case the 'E' fields will never be used. -% -% Mar 10, 2002 -% version 2.1beta -% New command: \fancyhfoffset[place]{length} -% defines offsets to be applied to the header/footer to let it stick into -% the margins (if length > 0). -% place is like in fancyhead, except that only E,O,L,R can be used. -% This replaces the old calculation based on \headwidth and the marginpar -% area. -% \headwidth will be dynamically calculated in the headers/footers when -% this is used. -% -% Mar 26, 2002 -% version 2.1beta2 -% \fancyhfoffset now also takes h,f as possible letters in the argument to -% allow the header and footer widths to be different. -% New commands \fancyheadoffset and \fancyfootoffset added comparable to -% \fancyhead and \fancyfoot. -% Errormessages and warnings have been made more informative. -% -% Dec 9, 2002 -% version 2.1 -% The defaults for \footrulewidth, \plainheadrulewidth and -% \plainfootrulewidth are changed from \z@skip to 0pt. In this way when -% someone inadvertantly uses \setlength to change any of these, the value -% of \z@skip will not be changed, rather an errormessage will be given. - -% March 3, 2004 -% Release of version 3.0 - -% Oct 7, 2004 -% version 3.1 -% Added '\endlinechar=13' to \fancy@reset to prevent problems with -% includegraphics in header when verbatiminput is active. - -% March 22, 2005 -% version 3.2 -% reset \everypar (the real one) in \fancy@reset because spanish.ldf does -% strange things with \everypar between << and >>. - -\def\ifancy@mpty#1{\def\temp@a{#1}\ifx\temp@a\@empty} - -\def\fancy@def#1#2{\ifancy@mpty{#2}\fancy@gbl\def#1{\leavevmode}\else - \fancy@gbl\def#1{#2\strut}\fi} - -\let\fancy@gbl\global - -\def\@fancyerrmsg#1{% - \ifx\PackageError\undefined - \errmessage{#1}\else - \PackageError{Fancyhdr}{#1}{}\fi} -\def\@fancywarning#1{% - \ifx\PackageWarning\undefined - \errmessage{#1}\else - \PackageWarning{Fancyhdr}{#1}{}\fi} - -% Usage: \@forc \var{charstring}{command to be executed for each char} -% This is similar to LaTeX's \@tfor, but expands the charstring. - -\def\@forc#1#2#3{\expandafter\f@rc\expandafter#1\expandafter{#2}{#3}} -\def\f@rc#1#2#3{\def\temp@ty{#2}\ifx\@empty\temp@ty\else - \f@@rc#1#2\f@@rc{#3}\fi} -\def\f@@rc#1#2#3\f@@rc#4{\def#1{#2}#4\f@rc#1{#3}{#4}} - -% Usage: \f@nfor\name:=list\do{body} -% Like LaTeX's \@for but an empty list is treated as a list with an empty -% element - -\newcommand{\f@nfor}[3]{\edef\@fortmp{#2}% - \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}} - -% Usage: \def@ult \cs{defaults}{argument} -% sets \cs to the characters from defaults appearing in argument -% or defaults if it would be empty. All characters are lowercased. - -\newcommand\def@ult[3]{% - \edef\temp@a{\lowercase{\edef\noexpand\temp@a{#3}}}\temp@a - \def#1{}% - \@forc\tmpf@ra{#2}% - {\expandafter\if@in\tmpf@ra\temp@a{\edef#1{#1\tmpf@ra}}{}}% - \ifx\@empty#1\def#1{#2}\fi} -% -% \if@in -% -\newcommand{\if@in}[4]{% - \edef\temp@a{#2}\def\temp@b##1#1##2\temp@b{\def\temp@b{##1}}% - \expandafter\temp@b#2#1\temp@b\ifx\temp@a\temp@b #4\else #3\fi} - -\newcommand{\fancyhead}{\@ifnextchar[{\f@ncyhf\fancyhead h}% - {\f@ncyhf\fancyhead h[]}} -\newcommand{\fancyfoot}{\@ifnextchar[{\f@ncyhf\fancyfoot f}% - {\f@ncyhf\fancyfoot f[]}} -\newcommand{\fancyhf}{\@ifnextchar[{\f@ncyhf\fancyhf{}}% - {\f@ncyhf\fancyhf{}[]}} - -% New commands for offsets added - -\newcommand{\fancyheadoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyheadoffset h}% - {\f@ncyhfoffs\fancyheadoffset h[]}} -\newcommand{\fancyfootoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyfootoffset f}% - {\f@ncyhfoffs\fancyfootoffset f[]}} -\newcommand{\fancyhfoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyhfoffset{}}% - {\f@ncyhfoffs\fancyhfoffset{}[]}} - -% The header and footer fields are stored in command sequences with -% names of the form: \f@ncy with for [eo], from [lcr] -% and from [hf]. - -\def\f@ncyhf#1#2[#3]#4{% - \def\temp@c{}% - \@forc\tmpf@ra{#3}% - {\expandafter\if@in\tmpf@ra{eolcrhf,EOLCRHF}% - {}{\edef\temp@c{\temp@c\tmpf@ra}}}% - \ifx\@empty\temp@c\else - \@fancyerrmsg{Illegal char `\temp@c' in \string#1 argument: - [#3]}% - \fi - \f@nfor\temp@c{#3}% - {\def@ult\f@@@eo{eo}\temp@c - \if@twoside\else - \if\f@@@eo e\@fancywarning - {\string#1's `E' option without twoside option is useless}\fi\fi - \def@ult\f@@@lcr{lcr}\temp@c - \def@ult\f@@@hf{hf}{#2\temp@c}% - \@forc\f@@eo\f@@@eo - {\@forc\f@@lcr\f@@@lcr - {\@forc\f@@hf\f@@@hf - {\expandafter\fancy@def\csname - f@ncy\f@@eo\f@@lcr\f@@hf\endcsname - {#4}}}}}} - -\def\f@ncyhfoffs#1#2[#3]#4{% - \def\temp@c{}% - \@forc\tmpf@ra{#3}% - {\expandafter\if@in\tmpf@ra{eolrhf,EOLRHF}% - {}{\edef\temp@c{\temp@c\tmpf@ra}}}% - \ifx\@empty\temp@c\else - \@fancyerrmsg{Illegal char `\temp@c' in \string#1 argument: - [#3]}% - \fi - \f@nfor\temp@c{#3}% - {\def@ult\f@@@eo{eo}\temp@c - \if@twoside\else - \if\f@@@eo e\@fancywarning - {\string#1's `E' option without twoside option is useless}\fi\fi - \def@ult\f@@@lcr{lr}\temp@c - \def@ult\f@@@hf{hf}{#2\temp@c}% - \@forc\f@@eo\f@@@eo - {\@forc\f@@lcr\f@@@lcr - {\@forc\f@@hf\f@@@hf - {\expandafter\setlength\csname - f@ncyO@\f@@eo\f@@lcr\f@@hf\endcsname - {#4}}}}}% - \fancy@setoffs} - -% Fancyheadings version 1 commands. These are more or less deprecated, -% but they continue to work. - -\newcommand{\lhead}{\@ifnextchar[{\@xlhead}{\@ylhead}} -\def\@xlhead[#1]#2{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#2}} -\def\@ylhead#1{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#1}} - -\newcommand{\chead}{\@ifnextchar[{\@xchead}{\@ychead}} -\def\@xchead[#1]#2{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#2}} -\def\@ychead#1{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#1}} - -\newcommand{\rhead}{\@ifnextchar[{\@xrhead}{\@yrhead}} -\def\@xrhead[#1]#2{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#2}} -\def\@yrhead#1{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#1}} - -\newcommand{\lfoot}{\@ifnextchar[{\@xlfoot}{\@ylfoot}} -\def\@xlfoot[#1]#2{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#2}} -\def\@ylfoot#1{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#1}} - -\newcommand{\cfoot}{\@ifnextchar[{\@xcfoot}{\@ycfoot}} -\def\@xcfoot[#1]#2{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#2}} -\def\@ycfoot#1{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#1}} - -\newcommand{\rfoot}{\@ifnextchar[{\@xrfoot}{\@yrfoot}} -\def\@xrfoot[#1]#2{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#2}} -\def\@yrfoot#1{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#1}} - -\newlength{\fancy@headwidth} -\let\headwidth\fancy@headwidth -\newlength{\f@ncyO@elh} -\newlength{\f@ncyO@erh} -\newlength{\f@ncyO@olh} -\newlength{\f@ncyO@orh} -\newlength{\f@ncyO@elf} -\newlength{\f@ncyO@erf} -\newlength{\f@ncyO@olf} -\newlength{\f@ncyO@orf} -\newcommand{\headrulewidth}{0.4pt} -\newcommand{\footrulewidth}{0pt} -\newcommand{\footruleskip}{.3\normalbaselineskip} - -% Fancyplain stuff shouldn't be used anymore (rather -% \fancypagestyle{plain} should be used), but it must be present for -% compatibility reasons. - -\newcommand{\plainheadrulewidth}{0pt} -\newcommand{\plainfootrulewidth}{0pt} -\newif\if@fancyplain \@fancyplainfalse -\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} - -\headwidth=-123456789sp %magic constant - -% Command to reset various things in the headers: -% a.o. single spacing (taken from setspace.sty) -% and the catcode of ^^M (so that epsf files in the header work if a -% verbatim crosses a page boundary) -% It also defines a \nouppercase command that disables \uppercase and -% \Makeuppercase. It can only be used in the headers and footers. -\let\fnch@everypar\everypar% save real \everypar because of spanish.ldf -\def\fancy@reset{\fnch@everypar{}\restorecr\endlinechar=13 - \def\baselinestretch{1}% - \def\nouppercase##1{{\let\uppercase\relax\let\MakeUppercase\relax - \expandafter\let\csname MakeUppercase \endcsname\relax##1}}% - \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e - \ifx\@normalsize\undefined \normalsize % for ucthesis.cls - \else \@normalsize \fi - \else% NFSS (2.09) present - \@newbaseline% - \fi} - -% Initialization of the head and foot text. - -% The default values still contain \fancyplain for compatibility. -\fancyhf{} % clear all -% lefthead empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages -% evenhead empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages -\if@twoside - \fancyhead[el,or]{\fancyplain{}{\sl\rightmark}} - \fancyhead[er,ol]{\fancyplain{}{\sl\leftmark}} -\else - \fancyhead[l]{\fancyplain{}{\sl\rightmark}} - \fancyhead[r]{\fancyplain{}{\sl\leftmark}} -\fi -\fancyfoot[c]{\rm\thepage} % page number - -% Use box 0 as a temp box and dimen 0 as temp dimen. -% This can be done, because this code will always -% be used inside another box, and therefore the changes are local. - -\def\@fancyvbox#1#2{\setbox0\vbox{#2}\ifdim\ht0>#1\@fancywarning - {\string#1 is too small (\the#1): ^^J Make it at least \the\ht0.^^J - We now make it that large for the rest of the document.^^J - This may cause the page layout to be inconsistent, however\@gobble}% - \dimen0=#1\global\setlength{#1}{\ht0}\ht0=\dimen0\fi - \box0} - -% Put together a header or footer given the left, center and -% right text, fillers at left and right and a rule. -% The \lap commands put the text into an hbox of zero size, -% so overlapping text does not generate an errormessage. -% These macros have 5 parameters: -% 1. LEFTSIDE BEARING % This determines at which side the header will stick -% out. When \fancyhfoffset is used this calculates \headwidth, otherwise -% it is \hss or \relax (after expansion). -% 2. \f@ncyolh, \f@ncyelh, \f@ncyolf or \f@ncyelf. This is the left component. -% 3. \f@ncyoch, \f@ncyech, \f@ncyocf or \f@ncyecf. This is the middle comp. -% 4. \f@ncyorh, \f@ncyerh, \f@ncyorf or \f@ncyerf. This is the right component. -% 5. RIGHTSIDE BEARING. This is always \relax or \hss (after expansion). - -\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset - \@fancyvbox\headheight{\hbox - {\rlap{\parbox[b]{\headwidth}{\raggedright#2}}\hfill - \parbox[b]{\headwidth}{\centering#3}\hfill - \llap{\parbox[b]{\headwidth}{\raggedleft#4}}}\headrule}}#5} - -\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset - \@fancyvbox\footskip{\footrule - \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2}}\hfill - \parbox[t]{\headwidth}{\centering#3}\hfill - \llap{\parbox[t]{\headwidth}{\raggedleft#4}}}}}#5} - -\def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi - \hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}} - -\def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi - \vskip-\footruleskip\vskip-\footrulewidth - \hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}} - -\def\ps@fancy{% -\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook -% -% Define \MakeUppercase for old LaTeXen. -% Note: we used \def rather than \let, so that \let\uppercase\relax (from -% the version 1 documentation) will still work. -% -\@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}% -\@ifundefined{chapter}{\def\sectionmark##1{\markboth -{\MakeUppercase{\ifnum \c@secnumdepth>\z@ - \thesection\hskip 1em\relax \fi ##1}}{}}% -\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne - \thesubsection\hskip 1em\relax \fi ##1}}}% -{\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum \c@secnumdepth>\m@ne - \@chapapp\ \thechapter. \ \fi ##1}}{}}% -\def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c@secnumdepth >\z@ - \thesection. \ \fi ##1}}}}% -%\csname ps@headings\endcsname % use \ps@headings defaults if they exist -\ps@@fancy -\gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}% -% Initialize \headwidth if the user didn't -% -\ifdim\headwidth<0sp -% -% This catches the case that \headwidth hasn't been initialized and the -% case that the user added something to \headwidth in the expectation that -% it was initialized to \textwidth. We compensate this now. This loses if -% the user intended to multiply it by a factor. But that case is more -% likely done by saying something like \headwidth=1.2\textwidth. -% The doc says you have to change \headwidth after the first call to -% \pagestyle{fancy}. This code is just to catch the most common cases were -% that requirement is violated. -% - \global\advance\headwidth123456789sp\global\advance\headwidth\textwidth -\fi} -\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} -\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} -\let\ps@@empty\ps@empty -\def\ps@@fancy{% -\ps@@empty % This is for amsbook/amsart, which do strange things with \topskip -\def\@mkboth{\protect\markboth}% -\def\@oddhead{\@fancyhead\fancy@Oolh\f@ncyolh\f@ncyoch\f@ncyorh\fancy@Oorh}% -\def\@oddfoot{\@fancyfoot\fancy@Oolf\f@ncyolf\f@ncyocf\f@ncyorf\fancy@Oorf}% -\def\@evenhead{\@fancyhead\fancy@Oelh\f@ncyelh\f@ncyech\f@ncyerh\fancy@Oerh}% -\def\@evenfoot{\@fancyfoot\fancy@Oelf\f@ncyelf\f@ncyecf\f@ncyerf\fancy@Oerf}% -} -% Default definitions for compatibility mode: -% These cause the header/footer to take the defined \headwidth as width -% And to shift in the direction of the marginpar area - -\def\fancy@Oolh{\if@reversemargin\hss\else\relax\fi} -\def\fancy@Oorh{\if@reversemargin\relax\else\hss\fi} -\let\fancy@Oelh\fancy@Oorh -\let\fancy@Oerh\fancy@Oolh - -\let\fancy@Oolf\fancy@Oolh -\let\fancy@Oorf\fancy@Oorh -\let\fancy@Oelf\fancy@Oelh -\let\fancy@Oerf\fancy@Oerh - -% New definitions for the use of \fancyhfoffset -% These calculate the \headwidth from \textwidth and the specified offsets. - -\def\fancy@offsolh{\headwidth=\textwidth\advance\headwidth\f@ncyO@olh - \advance\headwidth\f@ncyO@orh\hskip-\f@ncyO@olh} -\def\fancy@offselh{\headwidth=\textwidth\advance\headwidth\f@ncyO@elh - \advance\headwidth\f@ncyO@erh\hskip-\f@ncyO@elh} - -\def\fancy@offsolf{\headwidth=\textwidth\advance\headwidth\f@ncyO@olf - \advance\headwidth\f@ncyO@orf\hskip-\f@ncyO@olf} -\def\fancy@offself{\headwidth=\textwidth\advance\headwidth\f@ncyO@elf - \advance\headwidth\f@ncyO@erf\hskip-\f@ncyO@elf} - -\def\fancy@setoffs{% -% Just in case \let\headwidth\textwidth was used - \fancy@gbl\let\headwidth\fancy@headwidth - \fancy@gbl\let\fancy@Oolh\fancy@offsolh - \fancy@gbl\let\fancy@Oelh\fancy@offselh - \fancy@gbl\let\fancy@Oorh\hss - \fancy@gbl\let\fancy@Oerh\hss - \fancy@gbl\let\fancy@Oolf\fancy@offsolf - \fancy@gbl\let\fancy@Oelf\fancy@offself - \fancy@gbl\let\fancy@Oorf\hss - \fancy@gbl\let\fancy@Oerf\hss} - -\newif\iffootnote -\let\latex@makecol\@makecol -\def\@makecol{\ifvoid\footins\footnotetrue\else\footnotefalse\fi -\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol} -\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} -\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} -\def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} - -\newcommand{\fancypagestyle}[2]{% - \@namedef{ps@#1}{\let\fancy@gbl\relax#2\relax\ps@fancy}} diff --git a/iree/turbine/kernel/wave/docs/mlsys/mlsys2024.bst b/iree/turbine/kernel/wave/docs/mlsys/mlsys2024.bst deleted file mode 100644 index f704a990..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/mlsys2024.bst +++ /dev/null @@ -1,1439 +0,0 @@ -%% File: `mlsys2024.bst' -%% A modification of `plainnl.bst' for use with natbib package -%% -%% Copyright 2010 Hal Daum\'e III -%% Modified by Dimitris Papailiopoulos based on `icml2018.bst` -%% -%% Copyright 1993-2007 Patrick W Daly -%% Max-Planck-Institut f\"ur Sonnensystemforschung -%% Max-Planck-Str. 2 -%% D-37191 Katlenburg-Lindau -%% Germany -%% E-mail: daly@mps.mpg.de -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt; either -%% version 1 of the License, or any later version. -%% - % Version and source file information: - % \ProvidesFile{icml2010.mbs}[2007/11/26 1.93 (PWD)] - % - % BibTeX `plainnat' family - % version 0.99b for BibTeX versions 0.99a or later, - % for LaTeX versions 2.09 and 2e. - % - % For use with the `natbib.sty' package; emulates the corresponding - % member of the `plain' family, but with author-year citations. - % - % With version 6.0 of `natbib.sty', it may also be used for numerical - % citations, while retaining the commands \citeauthor, \citefullauthor, - % and \citeyear to print the corresponding information. - % - % For version 7.0 of `natbib.sty', the KEY field replaces missing - % authors/editors, and the date is left blank in \bibitem. - % - % Includes field EID for the sequence/citation number of electronic journals - % which is used instead of page numbers. - % - % Includes fields ISBN and ISSN. - % - % Includes field URL for Internet addresses. - % - % Includes field DOI for Digital Object Idenfifiers. - % - % Works best with the url.sty package of Donald Arseneau. - % - % Works with identical authors and year are further sorted by - % citation key, to preserve any natural sequence. - % -ENTRY - { address - author - booktitle - chapter - doi - eid - edition - editor - howpublished - institution - isbn - issn - journal - key - month - note - number - organization - pages - publisher - school - series - title - type - url - volume - year - } - {} - { label extra.label sort.label short.list } - -INTEGERS { output.state before.all mid.sentence after.sentence after.block } - -FUNCTION {init.state.consts} -{ #0 'before.all := - #1 'mid.sentence := - #2 'after.sentence := - #3 'after.block := -} - -STRINGS { s t } - -FUNCTION {output.nonnull} -{ 's := - output.state mid.sentence = - { ", " * write$ } - { output.state after.block = - { add.period$ write$ - newline$ - "\newblock " write$ - } - { output.state before.all = - 'write$ - { add.period$ " " * write$ } - if$ - } - if$ - mid.sentence 'output.state := - } - if$ - s -} - -FUNCTION {output} -{ duplicate$ empty$ - 'pop$ - 'output.nonnull - if$ -} - -FUNCTION {output.check} -{ 't := - duplicate$ empty$ - { pop$ "empty " t * " in " * cite$ * warning$ } - 'output.nonnull - if$ -} - -FUNCTION {fin.entry} -{ add.period$ - write$ - newline$ -} - -FUNCTION {new.block} -{ output.state before.all = - 'skip$ - { after.block 'output.state := } - if$ -} - -FUNCTION {new.sentence} -{ output.state after.block = - 'skip$ - { output.state before.all = - 'skip$ - { after.sentence 'output.state := } - if$ - } - if$ -} - -FUNCTION {not} -{ { #0 } - { #1 } - if$ -} - -FUNCTION {and} -{ 'skip$ - { pop$ #0 } - if$ -} - -FUNCTION {or} -{ { pop$ #1 } - 'skip$ - if$ -} - -FUNCTION {new.block.checka} -{ empty$ - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.block.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.block - if$ -} - -FUNCTION {new.sentence.checka} -{ empty$ - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {new.sentence.checkb} -{ empty$ - swap$ empty$ - and - 'skip$ - 'new.sentence - if$ -} - -FUNCTION {field.or.null} -{ duplicate$ empty$ - { pop$ "" } - 'skip$ - if$ -} - -FUNCTION {emphasize} -{ duplicate$ empty$ - { pop$ "" } - { "\emph{" swap$ * "}" * } - if$ -} - -INTEGERS { nameptr namesleft numnames } - -FUNCTION {format.names} -{ 's := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := - nameptr #1 > - { namesleft #1 > - { ", " * t * } - { numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {format.key} -{ empty$ - { key field.or.null } - { "" } - if$ -} - -FUNCTION {format.authors} -{ author empty$ - { "" } - { author format.names } - if$ -} - -FUNCTION {format.editors} -{ editor empty$ - { "" } - { editor format.names - editor num.names$ #1 > - { " (eds.)" * } - { " (ed.)" * } - if$ - } - if$ -} - -FUNCTION {format.isbn} -{ isbn empty$ - { "" } - { new.block "ISBN " isbn * } - if$ -} - -FUNCTION {format.issn} -{ issn empty$ - { "" } - { new.block "ISSN " issn * } - if$ -} - -FUNCTION {format.url} -{ url empty$ - { "" } - { new.block "URL \url{" url * "}" * } - if$ -} - -FUNCTION {format.doi} -{ doi empty$ - { "" } - { new.block "\doi{" doi * "}" * } - if$ -} - -FUNCTION {format.title} -{ title empty$ - { "" } - { title "t" change.case$ } - if$ -} - -FUNCTION {format.full.names} -{'s := - #1 'nameptr := - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { s nameptr - "{vv~}{ll}" format.name$ 't := - nameptr #1 > - { - namesleft #1 > - { ", " * t * } - { - numnames #2 > - { "," * } - 'skip$ - if$ - t "others" = - { " et~al." * } - { " and " * t * } - if$ - } - if$ - } - 't - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {author.editor.full} -{ author empty$ - { editor empty$ - { "" } - { editor format.full.names } - if$ - } - { author format.full.names } - if$ -} - -FUNCTION {author.full} -{ author empty$ - { "" } - { author format.full.names } - if$ -} - -FUNCTION {editor.full} -{ editor empty$ - { "" } - { editor format.full.names } - if$ -} - -FUNCTION {make.full.names} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.full - { type$ "proceedings" = - 'editor.full - 'author.full - if$ - } - if$ -} - -FUNCTION {output.bibitem} -{ newline$ - "\bibitem[" write$ - label write$ - ")" make.full.names duplicate$ short.list = - { pop$ } - { * } - if$ - "]{" * write$ - cite$ write$ - "}" write$ - newline$ - "" - before.all 'output.state := -} - -FUNCTION {n.dashify} -{ 't := - "" - { t empty$ not } - { t #1 #1 substring$ "-" = - { t #1 #2 substring$ "--" = not - { "--" * - t #2 global.max$ substring$ 't := - } - { { t #1 #1 substring$ "-" = } - { "-" * - t #2 global.max$ substring$ 't := - } - while$ - } - if$ - } - { t #1 #1 substring$ * - t #2 global.max$ substring$ 't := - } - if$ - } - while$ -} - -FUNCTION {format.date} -{ year duplicate$ empty$ - { "empty year in " cite$ * warning$ - pop$ "" } - 'skip$ - if$ - month empty$ - 'skip$ - { month - " " * swap$ * - } - if$ - extra.label * -} - -FUNCTION {format.btitle} -{ title emphasize -} - -FUNCTION {tie.or.space.connect} -{ duplicate$ text.length$ #3 < - { "~" } - { " " } - if$ - swap$ * * -} - -FUNCTION {either.or.check} -{ empty$ - 'pop$ - { "can't use both " swap$ * " fields in " * cite$ * warning$ } - if$ -} - -FUNCTION {format.bvolume} -{ volume empty$ - { "" } - { "volume" volume tie.or.space.connect - series empty$ - 'skip$ - { " of " * series emphasize * } - if$ - "volume and number" number either.or.check - } - if$ -} - -FUNCTION {format.number.series} -{ volume empty$ - { number empty$ - { series field.or.null } - { output.state mid.sentence = - { "number" } - { "Number" } - if$ - number tie.or.space.connect - series empty$ - { "there's a number but no series in " cite$ * warning$ } - { " in " * series * } - if$ - } - if$ - } - { "" } - if$ -} - -FUNCTION {format.edition} -{ edition empty$ - { "" } - { output.state mid.sentence = - { edition "l" change.case$ " edition" * } - { edition "t" change.case$ " edition" * } - if$ - } - if$ -} - -INTEGERS { multiresult } - -FUNCTION {multi.page.check} -{ 't := - #0 'multiresult := - { multiresult not - t empty$ not - and - } - { t #1 #1 substring$ - duplicate$ "-" = - swap$ duplicate$ "," = - swap$ "+" = - or or - { #1 'multiresult := } - { t #2 global.max$ substring$ 't := } - if$ - } - while$ - multiresult -} - -FUNCTION {format.pages} -{ pages empty$ - { "" } - { pages multi.page.check - { "pp.\ " pages n.dashify tie.or.space.connect } - { "pp.\ " pages tie.or.space.connect } - if$ - } - if$ -} - -FUNCTION {format.eid} -{ eid empty$ - { "" } - { "art." eid tie.or.space.connect } - if$ -} - -FUNCTION {format.vol.num.pages} -{ volume field.or.null - number empty$ - 'skip$ - { "\penalty0 (" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - pages empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.pages } - { ":\penalty0 " * pages n.dashify * } - if$ - } - if$ -} - -FUNCTION {format.vol.num.eid} -{ volume field.or.null - number empty$ - 'skip$ - { "\penalty0 (" number * ")" * * - volume empty$ - { "there's a number but no volume in " cite$ * warning$ } - 'skip$ - if$ - } - if$ - eid empty$ - 'skip$ - { duplicate$ empty$ - { pop$ format.eid } - { ":\penalty0 " * eid * } - if$ - } - if$ -} - -FUNCTION {format.chapter.pages} -{ chapter empty$ - 'format.pages - { type empty$ - { "chapter" } - { type "l" change.case$ } - if$ - chapter tie.or.space.connect - pages empty$ - 'skip$ - { ", " * format.pages * } - if$ - } - if$ -} - -FUNCTION {format.in.ed.booktitle} -{ booktitle empty$ - { "" } - { editor empty$ - { "In " booktitle emphasize * } - { "In " format.editors * ", " * booktitle emphasize * } - if$ - } - if$ -} - -FUNCTION {empty.misc.check} -{ author empty$ title empty$ howpublished empty$ - month empty$ year empty$ note empty$ - and and and and and - key empty$ not and - { "all relevant fields are empty in " cite$ * warning$ } - 'skip$ - if$ -} - -FUNCTION {format.thesis.type} -{ type empty$ - 'skip$ - { pop$ - type "t" change.case$ - } - if$ -} - -FUNCTION {format.tr.number} -{ type empty$ - { "Technical Report" } - 'type - if$ - number empty$ - { "t" change.case$ } - { number tie.or.space.connect } - if$ -} - -FUNCTION {format.article.crossref} -{ key empty$ - { journal empty$ - { "need key or journal for " cite$ * " to crossref " * crossref * - warning$ - "" - } - { "In \emph{" journal * "}" * } - if$ - } - { "In " } - if$ - " \citet{" * crossref * "}" * -} - -FUNCTION {format.book.crossref} -{ volume empty$ - { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ - "In " - } - { "Volume" volume tie.or.space.connect - " of " * - } - if$ - editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { series empty$ - { "need editor, key, or series for " cite$ * " to crossref " * - crossref * warning$ - "" * - } - { "\emph{" * series * "}" * } - if$ - } - 'skip$ - if$ - } - 'skip$ - if$ - " \citet{" * crossref * "}" * -} - -FUNCTION {format.incoll.inproc.crossref} -{ editor empty$ - editor field.or.null author field.or.null = - or - { key empty$ - { booktitle empty$ - { "need editor, key, or booktitle for " cite$ * " to crossref " * - crossref * warning$ - "" - } - { "In \emph{" booktitle * "}" * } - if$ - } - { "In " } - if$ - } - { "In " } - if$ - " \citet{" * crossref * "}" * -} - -FUNCTION {article} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.title "title" output.check - new.block - crossref missing$ - { journal emphasize "journal" output.check - eid empty$ - { format.vol.num.pages output } - { format.vol.num.eid output } - if$ - format.date "year" output.check - } - { format.article.crossref output.nonnull - eid empty$ - { format.pages output } - { format.eid output } - if$ - } - if$ - format.issn output - format.doi output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {book} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - new.block - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address output - } - { new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check - format.isbn output - format.doi output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {booklet} -{ output.bibitem - format.authors output - author format.key output - new.block - format.title "title" output.check - howpublished address new.block.checkb - howpublished output - address output - format.date output - format.isbn output - format.doi output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {inbook} -{ output.bibitem - author empty$ - { format.editors "author and editor" output.check - editor format.key output - } - { format.authors output.nonnull - crossref missing$ - { "author and editor" editor either.or.check } - 'skip$ - if$ - } - if$ - new.block - format.btitle "title" output.check - crossref missing$ - { format.bvolume output - format.chapter.pages "chapter and pages" output.check - new.block - format.number.series output - new.sentence - publisher "publisher" output.check - address output - } - { format.chapter.pages "chapter and pages" output.check - new.block - format.book.crossref output.nonnull - } - if$ - format.edition output - format.date "year" output.check - format.isbn output - format.doi output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {incollection} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - format.chapter.pages output - new.sentence - publisher "publisher" output.check - address output - format.edition output - format.date "year" output.check - } - { format.incoll.inproc.crossref output.nonnull - format.chapter.pages output - } - if$ - format.isbn output - format.doi output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {inproceedings} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.title "title" output.check - new.block - crossref missing$ - { format.in.ed.booktitle "booktitle" output.check - format.bvolume output - format.number.series output - format.pages output - address empty$ - { organization publisher new.sentence.checkb - organization output - publisher output - format.date "year" output.check - } - { address output.nonnull - format.date "year" output.check - new.sentence - organization output - publisher output - } - if$ - } - { format.incoll.inproc.crossref output.nonnull - format.pages output - } - if$ - format.isbn output - format.doi output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {conference} { inproceedings } - -FUNCTION {manual} -{ output.bibitem - format.authors output - author format.key output - new.block - format.btitle "title" output.check - organization address new.block.checkb - organization output - address output - format.edition output - format.date output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {mastersthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.title "title" output.check - new.block - "Master's thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.date "year" output.check - format.url output - new.block - note output - fin.entry -} - -FUNCTION {misc} -{ output.bibitem - format.authors output - author format.key output - title howpublished new.block.checkb - format.title output - howpublished new.block.checka - howpublished output - format.date output - format.issn output - format.url output - new.block - note output - fin.entry - empty.misc.check -} - -FUNCTION {phdthesis} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.btitle "title" output.check - new.block - "PhD thesis" format.thesis.type output.nonnull - school "school" output.check - address output - format.date "year" output.check - format.url output - new.block - note output - fin.entry -} - -FUNCTION {proceedings} -{ output.bibitem - format.editors output - editor format.key output - new.block - format.btitle "title" output.check - format.bvolume output - format.number.series output - address output - format.date "year" output.check - new.sentence - organization output - publisher output - format.isbn output - format.doi output - format.url output - new.block - note output - fin.entry -} - -FUNCTION {techreport} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.title "title" output.check - new.block - format.tr.number output.nonnull - institution "institution" output.check - address output - format.date "year" output.check - format.url output - new.block - note output - fin.entry -} - -FUNCTION {unpublished} -{ output.bibitem - format.authors "author" output.check - author format.key output - new.block - format.title "title" output.check - new.block - note "note" output.check - format.date output - format.url output - fin.entry -} - -FUNCTION {default.type} { misc } - - -MACRO {jan} {"January"} - -MACRO {feb} {"February"} - -MACRO {mar} {"March"} - -MACRO {apr} {"April"} - -MACRO {may} {"May"} - -MACRO {jun} {"June"} - -MACRO {jul} {"July"} - -MACRO {aug} {"August"} - -MACRO {sep} {"September"} - -MACRO {oct} {"October"} - -MACRO {nov} {"November"} - -MACRO {dec} {"December"} - - - -MACRO {acmcs} {"ACM Computing Surveys"} - -MACRO {acta} {"Acta Informatica"} - -MACRO {cacm} {"Communications of the ACM"} - -MACRO {ibmjrd} {"IBM Journal of Research and Development"} - -MACRO {ibmsj} {"IBM Systems Journal"} - -MACRO {ieeese} {"IEEE Transactions on Software Engineering"} - -MACRO {ieeetc} {"IEEE Transactions on Computers"} - -MACRO {ieeetcad} - {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} - -MACRO {ipl} {"Information Processing Letters"} - -MACRO {jacm} {"Journal of the ACM"} - -MACRO {jcss} {"Journal of Computer and System Sciences"} - -MACRO {scp} {"Science of Computer Programming"} - -MACRO {sicomp} {"SIAM Journal on Computing"} - -MACRO {tocs} {"ACM Transactions on Computer Systems"} - -MACRO {tods} {"ACM Transactions on Database Systems"} - -MACRO {tog} {"ACM Transactions on Graphics"} - -MACRO {toms} {"ACM Transactions on Mathematical Software"} - -MACRO {toois} {"ACM Transactions on Office Information Systems"} - -MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} - -MACRO {tcs} {"Theoretical Computer Science"} - - -READ - -FUNCTION {sortify} -{ purify$ - "l" change.case$ -} - -INTEGERS { len } - -FUNCTION {chop.word} -{ 's := - 'len := - s #1 len substring$ = - { s len #1 + global.max$ substring$ } - 's - if$ -} - -FUNCTION {format.lab.names} -{ 's := - s #1 "{vv~}{ll}" format.name$ - s num.names$ duplicate$ - #2 > - { pop$ " et~al." * } - { #2 < - 'skip$ - { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = - { " et~al." * } - { " \& " * s #2 "{vv~}{ll}" format.name$ * } - if$ - } - if$ - } - if$ -} - -FUNCTION {author.key.label} -{ author empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.editor.key.label} -{ author empty$ - { editor empty$ - { key empty$ - { cite$ #1 #3 substring$ } - 'key - if$ - } - { editor format.lab.names } - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {author.key.organization.label} -{ author empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - 'key - if$ - } - { author format.lab.names } - if$ -} - -FUNCTION {editor.key.organization.label} -{ editor empty$ - { key empty$ - { organization empty$ - { cite$ #1 #3 substring$ } - { "The " #4 organization chop.word #3 text.prefix$ } - if$ - } - 'key - if$ - } - { editor format.lab.names } - if$ -} - -FUNCTION {calc.short.authors} -{ type$ "book" = - type$ "inbook" = - or - 'author.editor.key.label - { type$ "proceedings" = - 'editor.key.organization.label - { type$ "manual" = - 'author.key.organization.label - 'author.key.label - if$ - } - if$ - } - if$ - 'short.list := -} - -FUNCTION {calc.label} -{ calc.short.authors - short.list - "(" - * - year duplicate$ empty$ - short.list key field.or.null = or - { pop$ "" } - 'skip$ - if$ - * - 'label := -} - -FUNCTION {sort.format.names} -{ 's := - #1 'nameptr := - "" - s num.names$ 'numnames := - numnames 'namesleft := - { namesleft #0 > } - { - s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := - nameptr #1 > - { - " " * - namesleft #1 = t "others" = and - { "zzzzz" * } - { numnames #2 > nameptr #2 = and - { "zz" * year field.or.null * " " * } - 'skip$ - if$ - t sortify * - } - if$ - } - { t sortify * } - if$ - nameptr #1 + 'nameptr := - namesleft #1 - 'namesleft := - } - while$ -} - -FUNCTION {sort.format.title} -{ 't := - "A " #2 - "An " #3 - "The " #4 t chop.word - chop.word - chop.word - sortify - #1 global.max$ substring$ -} - -FUNCTION {author.sort} -{ author empty$ - { key empty$ - { "to sort, need author or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.editor.sort} -{ author empty$ - { editor empty$ - { key empty$ - { "to sort, need author, editor, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { editor sort.format.names } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {author.organization.sort} -{ author empty$ - { organization empty$ - { key empty$ - { "to sort, need author, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { author sort.format.names } - if$ -} - -FUNCTION {editor.organization.sort} -{ editor empty$ - { organization empty$ - { key empty$ - { "to sort, need editor, organization, or key in " cite$ * warning$ - "" - } - { key sortify } - if$ - } - { "The " #4 organization chop.word sortify } - if$ - } - { editor sort.format.names } - if$ -} - - -FUNCTION {presort} -{ calc.label - label sortify - " " - * - type$ "book" = - type$ "inbook" = - or - 'author.editor.sort - { type$ "proceedings" = - 'editor.organization.sort - { type$ "manual" = - 'author.organization.sort - 'author.sort - if$ - } - if$ - } - if$ - " " - * - year field.or.null sortify - * - " " - * - cite$ - * - #1 entry.max$ substring$ - 'sort.label := - sort.label * - #1 entry.max$ substring$ - 'sort.key$ := -} - -ITERATE {presort} - -SORT - -STRINGS { longest.label last.label next.extra } - -INTEGERS { longest.label.width last.extra.num number.label } - -FUNCTION {initialize.longest.label} -{ "" 'longest.label := - #0 int.to.chr$ 'last.label := - "" 'next.extra := - #0 'longest.label.width := - #0 'last.extra.num := - #0 'number.label := -} - -FUNCTION {forward.pass} -{ last.label label = - { last.extra.num #1 + 'last.extra.num := - last.extra.num int.to.chr$ 'extra.label := - } - { "a" chr.to.int$ 'last.extra.num := - "" 'extra.label := - label 'last.label := - } - if$ - number.label #1 + 'number.label := -} - -FUNCTION {reverse.pass} -{ next.extra "b" = - { "a" 'extra.label := } - 'skip$ - if$ - extra.label 'next.extra := - extra.label - duplicate$ empty$ - 'skip$ - { "{\natexlab{" swap$ * "}}" * } - if$ - 'extra.label := - label extra.label * 'label := -} - -EXECUTE {initialize.longest.label} - -ITERATE {forward.pass} - -REVERSE {reverse.pass} - -FUNCTION {bib.sort.order} -{ sort.label 'sort.key$ := -} - -ITERATE {bib.sort.order} - -SORT - -FUNCTION {begin.bib} -{ preamble$ empty$ - 'skip$ - { preamble$ write$ newline$ } - if$ - "\begin{thebibliography}{" number.label int.to.str$ * "}" * - write$ newline$ - "\providecommand{\natexlab}[1]{#1}" - write$ newline$ - "\providecommand{\url}[1]{\texttt{#1}}" - write$ newline$ - "\expandafter\ifx\csname urlstyle\endcsname\relax" - write$ newline$ - " \providecommand{\doi}[1]{doi: #1}\else" - write$ newline$ - " \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi" - write$ newline$ -} - -EXECUTE {begin.bib} - -EXECUTE {init.state.consts} - -ITERATE {call.type$} - -FUNCTION {end.bib} -{ newline$ - "\end{thebibliography}" write$ newline$ -} - -EXECUTE {end.bib} diff --git a/iree/turbine/kernel/wave/docs/mlsys/mlsys2024.sty b/iree/turbine/kernel/wave/docs/mlsys/mlsys2024.sty deleted file mode 100644 index 6d8a20d5..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/mlsys2024.sty +++ /dev/null @@ -1,750 +0,0 @@ -% File: mlsys2024.sty (LaTeX style file for mlsys-2024, version of 2017-10-28) - -% This file contains the LaTeX formatting parameters for a two-column -% conference proceedings that is 8.5 inches wide by 11 inches high. -% -% Modified by Dimitris Papailiopoulos and Virginia Smith based on style file of ICML 2018, -% which can be found at: -% -% -% Hacked by Terran Lane, 2003: -% - Updated to use LaTeX2e style file conventions (ProvidesPackage, -% etc.) -% - Added an ``appearing in'' block at the base of the first column -% (thus keeping the ``appearing in'' note out of the bottom margin -% where the printer should strip in the page numbers). -% - Added a package option [accepted] that selects between the ``Under -% review'' notice (default, when no option is specified) and the -% ``Appearing in'' notice (for use when the paper has been accepted -% and will appear). -% -% Originally created as: ml2k.sty (LaTeX style file for ICML-2000) -% by P. Langley (12/23/99) - -%%%%%%%%%%%%%%%%%%%% -%% This version of the style file supports both a ``review'' version -%% and a ``final/accepted'' version. The difference is only in the -%% text that appears in the note at the bottom of the first column of -%% the first page. The default behavior is to print a note to the -%% effect that the paper is under review and don't distribute it. The -%% final/accepted version prints an ``Appearing in'' note. To get the -%% latter behavior, in the calling file change the ``usepackage'' line -%% from: -%% \usepackage{icml2018} -%% to -%% \usepackage[accepted]{icml2018} -%%%%%%%%%%%%%%%%%%%% - -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mlsys2024}[2018/07/02 v0.1 mlsys Conference Style File] - -% Before 2018, \usepackage{times} was in the example TeX, but inevitably -% not everybody did it. -\RequirePackage{times} - -% Use fancyhdr package -\RequirePackage{fancyhdr} -\RequirePackage{color} -\RequirePackage{algorithm} -\RequirePackage{algorithmic} -\RequirePackage{natbib} -\RequirePackage{eso-pic} % used by \AddToShipoutPicture -\RequirePackage{forloop} - -%%%%%%%% Options -\DeclareOption{accepted}{% - \renewcommand{\Notice@String}{\mlsys@appearing} - \gdef\isaccepted{1} -} -\DeclareOption{nohyperref}{% - \gdef\nohyperref{1} -} - -\ifdefined\nohyperref\else\ifdefined\hypersetup - \definecolor{mydarkblue}{rgb}{0,0.08,0.45} - \hypersetup{ % - pdftitle={}, - pdfauthor={}, - pdfsubject={mlsys 2024}, - pdfkeywords={}, - pdfborder=0 0 0, - pdfpagemode=UseNone, - colorlinks=true, - linkcolor=mydarkblue, - citecolor=mydarkblue, - filecolor=mydarkblue, - urlcolor=mydarkblue, - pdfview=FitH} - - \ifdefined\isaccepted \else - \hypersetup{pdfauthor={Anonymous Submission}} - \fi -\fi\fi - -%%%%%%%%%%%%%%%%%%%% -% This string is printed at the bottom of the page for the -% final/accepted version of the ``appearing in'' note. Modify it to -% change that text. -%%%%%%%%%%%%%%%%%%%% -%\newcommand{\ICML@appearing}{\textit{mlsys 2024}, -\newcommand{\mlsys@appearing}{ - \textit{Proceedings of the - $\mathit{5}^{th}$ MLSys Conference}, - Santa Clara, CA, USA, 2024. - Copyright 2024 by the author(s).} - -%%%%%%%%%%%%%%%%%%%% -% This string is printed at the bottom of the page for the draft/under -% review version of the ``appearing in'' note. Modify it to change -% that text. -%%%%%%%%%%%%%%%%%%%% -\newcommand{\Notice@String}{Preliminary work. Under review by the -Machine Learning and Systems (MLSys) Conference\@. Do not distribute.} - -% Cause the declared options to actually be parsed and activated -\ProcessOptions\relax - -% Uncomment the following for debugging. It will cause LaTeX to dump -% the version of the ``appearing in'' string that will actually appear -% in the document. -%\typeout{>> Notice string='\Notice@String'} - -% Change citation commands to be more like old ICML styles -\newcommand{\yrcite}[1]{\citeyearpar{#1}} -\renewcommand{\cite}[1]{\citep{#1}} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% to ensure the letter format is used. pdflatex does compile the -% page size into the pdf. This is done using \pdfpagewidth and -% \pdfpageheight. As Latex does not know this directives, we first -% check whether pdflatex or latex is used. -% -% Kristian Kersting 2005 -% -% in order to account for the more recent use of pdfetex as the default -% compiler, I have changed the pdf verification. -% -% Ricardo Silva 2007 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\paperwidth=8.5in -\paperheight=11in - -% old PDFLaTex verification, circa 2005 -% -%\newif\ifpdf\ifx\pdfoutput\undefined -% \pdffalse % we are not running PDFLaTeX -%\else -% \pdfoutput=1 % we are running PDFLaTeX -% \pdftrue -%\fi - -\newif\ifpdf %adapted from ifpdf.sty -\ifx\pdfoutput\undefined -\else - \ifx\pdfoutput\relax - \else - \ifcase\pdfoutput - \else - \pdftrue - \fi - \fi -\fi - -\ifpdf -% \pdfpagewidth=\paperwidth -% \pdfpageheight=\paperheight - \setlength{\pdfpagewidth}{8.5in} - \setlength{\pdfpageheight}{11in} -\fi - -% Physical page layout - -\evensidemargin -0.23in -\oddsidemargin -0.23in -\setlength\textheight{9.0in} -\setlength\textwidth{6.75in} -\setlength\columnsep{0.25in} -\setlength\headheight{10pt} -\setlength\headsep{10pt} -\addtolength{\topmargin}{-20pt} -\addtolength{\topmargin}{-0.29in} - -% Historically many authors tried to include packages like geometry or fullpage, -% which change the page layout. It either makes the proceedings inconsistent, or -% wastes organizers' time chasing authors. So let's nip these problems in the -% bud here. -- Iain Murray 2018. -%\RequirePackage{printlen} -\AtBeginDocument{% -% To get the numbers below, include printlen package above and see lengths like this: -%\printlength\oddsidemargin\\ -%\printlength\headheight\\ -%\printlength\textheight\\ -%\printlength\marginparsep\\ -%\printlength\footskip\\ -%\printlength\hoffset\\ -%\printlength\paperwidth\\ -%\printlength\topmargin\\ -%\printlength\headsep\\ -%\printlength\textwidth\\ -%\printlength\marginparwidth\\ -%\printlength\marginparpush\\ -%\printlength\voffset\\ -%\printlength\paperheight\\ -% -\newif\ifmarginsmessedwith -\marginsmessedwithfalse -\ifdim\oddsidemargin=-16.62178pt \else oddsidemargin has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\headheight=10.0pt \else headheight has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\textheight=650.43pt \else textheight has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\marginparsep=11.0pt \else marginparsep has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\footskip=0.0pt \else footskip has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\hoffset=0.0pt \else hoffset has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\paperwidth=614.295pt \else paperwidth has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\topmargin=-24.95781pt \else topmargin has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\headsep=10.0pt \else headsep has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\textwidth=487.8225pt \else textwidth has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\marginparwidth=65.0pt \else marginparwidth has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\marginparpush=5.0pt \else marginparpush has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\voffset=0.0pt \else voffset has been altered.\\ \marginsmessedwithtrue\fi -\ifdim\paperheight=794.96999pt \else paperheight has been altered.\\ \marginsmessedwithtrue\fi -\ifmarginsmessedwith - -\textbf{\large \em The page layout violates the ICML style.} - -Please do not change the page layout, or include packages like geometry, -savetrees, or fullpage, which change it for you. - -We're not able to reliably undo arbitrary changes to the style. Please remove -the offending package(s), or layout-changing commands and try again. - -\fi} - - -%% The following is adapted from code in the acmconf.sty conference -%% style file. The constants in it are somewhat magical, and appear -%% to work well with the two-column format on US letter paper that -%% ICML uses, but will break if you change that layout, or if you use -%% a longer block of text for the copyright notice string. Fiddle with -%% them if necessary to get the block to fit/look right. -%% -%% -- Terran Lane, 2003 -%% -%% The following comments are included verbatim from acmconf.sty: -%% -%%% This section (written by KBT) handles the 1" box in the lower left -%%% corner of the left column of the first page by creating a picture, -%%% and inserting the predefined string at the bottom (with a negative -%%% displacement to offset the space allocated for a non-existent -%%% caption). -%%% -\def\ftype@copyrightbox{8} -\def\@copyrightspace{ -% Create a float object positioned at the bottom of the column. Note -% that because of the mystical nature of floats, this has to be called -% before the first column is populated with text (e.g., from the title -% or abstract blocks). Otherwise, the text will force the float to -% the next column. -- TDRL. -\@float{copyrightbox}[b] -\begin{center} -\setlength{\unitlength}{1pc} -\begin{picture}(20,1.5) -% Create a line separating the main text from the note block. -% 4.818pc==0.8in. -\put(0,2.5){\line(1,0){4.818}} -% Insert the text string itself. Note that the string has to be -% enclosed in a parbox -- the \put call needs a box object to -% position. Without the parbox, the text gets splattered across the -% bottom of the page semi-randomly. The 19.75pc distance seems to be -% the width of the column, though I can't find an appropriate distance -% variable to substitute here. -- TDRL. -\put(0,0){\parbox[b]{19.75pc}{\small \Notice@String}} -\end{picture} -\end{center} -\end@float} - -% Note: A few Latex versions need the next line instead of the former. -% \addtolength{\topmargin}{0.3in} -% \setlength\footheight{0pt} -\setlength\footskip{0pt} -%\pagestyle{empty} -\flushbottom \twocolumn -\sloppy - -% Clear out the addcontentsline command -\def\addcontentsline#1#2#3{} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% commands for formatting paper title, author names, and addresses. - -%%start%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%% title as running head -- Kristian Kersting 2005 %%%%%%%%%%%%% - - -%\makeatletter -%\newtoks\mytoksa -%\newtoks\mytoksb -%\newcommand\addtomylist[2]{% -% \mytoksa\expandafter{#1}% -% \mytoksb{#2}% -% \edef#1{\the\mytoksa\the\mytoksb}% -%} -%\makeatother - -% box to check the size of the running head -\newbox\titrun - -% general page style -\pagestyle{fancy} -\fancyhf{} -\fancyhead{} -\fancyfoot{} -% set the width of the head rule to 1 point -\renewcommand{\headrulewidth}{1pt} - -% definition to set the head as running head in the preamble -\def\mlsystitlerunning#1{\gdef\@mlsystitlerunning{#1}} - -% main definition adapting \mlsystitle from 2024 -\long\def\mlsystitle#1{% - - %check whether @mlsystitlerunning exists - % if not \mlsystitle is used as running head - \ifx\undefined\@mlsystitlerunning% - \gdef\@mlsystitlerunning{#1} - \fi - - %add it to pdf information - \ifdefined\nohyperref\else\ifdefined\hypersetup - \hypersetup{pdftitle={#1}} - \fi\fi - - %get the dimension of the running title - \global\setbox\titrun=\vbox{\small\bf\@mlsystitlerunning} - - % error flag - \gdef\@runningtitleerror{0} - - % running title too long - \ifdim\wd\titrun>\textwidth% - {\gdef\@runningtitleerror{1}}% - % running title breaks a line - \else\ifdim\ht\titrun>6.25pt - {\gdef\@runningtitleerror{2}}% - \fi - \fi - - % if there is somthing wrong with the running title - \ifnum\@runningtitleerror>0 - \typeout{}% - \typeout{}% - \typeout{*******************************************************}% - \typeout{Title exceeds size limitations for running head.}% - \typeout{Please supply a shorter form for the running head} - \typeout{with \string\mlsystitlerunning{...}\space prior to \string\begin{document}}% - \typeout{*******************************************************}% - \typeout{}% - \typeout{}% - % set default running title - \chead{\small\bf Title Suppressed Due to Excessive Size}% - \else - % 'everything' fine, set provided running title - \chead{\small\bf\@mlsystitlerunning}% - \fi - - % no running title on the first page of the paper - \thispagestyle{empty} - -%%%%%%%%%%%%%%%%%%%% Kristian Kersting %%%%%%%%%%%%%%%%%%%%%%%%% -%end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - {\center\baselineskip 18pt - \toptitlebar{\Large\bf\scshape #1}\bottomtitlebar} -} - - -\gdef\icmlfullauthorlist{} -\newcommand\addstringtofullauthorlist{\g@addto@macro\icmlfullauthorlist} -\newcommand\addtofullauthorlist[1]{% - \ifdefined\icmlanyauthors% - \addstringtofullauthorlist{, #1}% - \else% - \addstringtofullauthorlist{#1}% - \gdef\icmlanyauthors{1}% - \fi% - \ifdefined\nohyperref\else\ifdefined\hypersetup% - \hypersetup{pdfauthor=\icmlfullauthorlist}% - \fi\fi} - -%%% GS: changed toptitlebar from 1pt to 2pt -\def\toptitlebar{\hrule height2pt \vskip .25in} -\def\bottomtitlebar{\vskip .22in \hrule height1pt \vskip .3in} - -\newenvironment{mlsysauthorlist}{% - \setlength\topsep{0pt} - \setlength\parskip{0pt} - \begin{center} -}{% - \end{center} -} - -\newcounter{@affiliationcounter} -\newcommand{\@pa}[1]{% -% ``#1'' -\ifcsname the@affil#1\endcsname - % do nothing -\else - \ifcsname @icmlsymbol#1\endcsname - % nothing - \else - \stepcounter{@affiliationcounter}% - \newcounter{@affil#1}% - \setcounter{@affil#1}{\value{@affiliationcounter}}% - \fi -\fi% -\ifcsname @icmlsymbol#1\endcsname - \textsuperscript{\csname @icmlsymbol#1\endcsname\,}% -\else - %\expandafter\footnotemark[\arabic{@affil#1}\,]% - \textsuperscript{\arabic{@affil#1}\,}% -\fi -} - -%\newcommand{\mlsysauthor}[2]{% -%\addtofullauthorlist{#1}% -%#1\@for\theaffil:=#2\do{\pa{\theaffil}}% -%} -\newcommand{\mlsysauthor}[2]{% - \ifdefined\isaccepted - \mbox{\bf #1}\,\@for\theaffil:=#2\do{\@pa{\theaffil}} \addtofullauthorlist{#1}% - \else - \ifdefined\@icmlfirsttime - \else - \gdef\@icmlfirsttime{1} - \mbox{\bf Anonymous Authors}\@pa{@anon} \addtofullauthorlist{Anonymous Authors} - \fi - \fi -} - -\newcommand{\mlsyssetsymbol}[2]{% - \expandafter\gdef\csname @icmlsymbol#1\endcsname{#2} - } - - -\newcommand{\mlsysaffiliation}[2]{% -\ifdefined\isaccepted -\ifcsname the@affil#1\endcsname - \expandafter\gdef\csname @affilname\csname the@affil#1\endcsname\endcsname{#2}% -\else - {\bf AUTHORERR: Error in use of \textbackslash{}mlsysaffiliation command. Label ``#1'' not mentioned in some \textbackslash{}mlsysauthor\{author name\}\{labels here\} command beforehand. } - \typeout{}% - \typeout{}% - \typeout{*******************************************************}% - \typeout{Affiliation label undefined. }% - \typeout{Make sure \string\mlsysaffiliation\space follows } - \typeout{all of \string\mlsysauthor\space commands}% - \typeout{*******************************************************}% - \typeout{}% - \typeout{}% -\fi -\else % \isaccepted - % can be called multiple times... it's idempotent - \expandafter\gdef\csname @affilname1\endcsname{Anonymous Institution, Anonymous City, Anonymous Region, Anonymous Country} -\fi -} - -\newcommand{\mlsyscorrespondingauthor}[2]{ -\ifdefined\isaccepted - \ifdefined\mlsyscorrespondingauthor@text - \g@addto@macro\mlsyscorrespondingauthor@text{, #1 \textless{}#2\textgreater{}} - \else - \gdef\mlsyscorrespondingauthor@text{#1 \textless{}#2\textgreater{}} - \fi -\else -\gdef\mlsyscorrespondingauthor@text{Anonymous Author \textless{}anon.email@domain.com\textgreater{}} -\fi -} - -\newcommand{\mlsysEqualContribution}{\textsuperscript{*}Equal contribution } - -\newcounter{@affilnum} -\newcommand{\printAffiliationsAndNotice}[1]{% -\stepcounter{@affiliationcounter}% -{\let\thefootnote\relax\footnotetext{\hspace*{-\footnotesep}\ifdefined\isaccepted #1\fi% -\forloop{@affilnum}{1}{\value{@affilnum} < \value{@affiliationcounter}}{ -\textsuperscript{\arabic{@affilnum}}\ifcsname @affilname\the@affilnum\endcsname% -\csname @affilname\the@affilnum\endcsname% -\else -{\bf AUTHORERR: Missing \textbackslash{}mlsysaffiliation.} -\fi -}. -\ifdefined\mlsyscorrespondingauthor@text -Correspondence to: \mlsyscorrespondingauthor@text. -\else -{\bf AUTHORERR: Missing \textbackslash{}mlsyscorrespondingauthor.} -\fi - -\ \\ -\Notice@String -} -} -} - -%\makeatother - -\long\def\icmladdress#1{% - {\bf The \textbackslash{}icmladdress command is no longer used. See the example\_paper PDF .tex for usage of \textbackslash{}icmlauther and \textbackslash{}mlsysaffiliation.} -} - -%% keywords as first class citizens -\def\mlsyskeywords#1{% -% \ifdefined\isaccepted \else -% \par {\bf Keywords:} #1% -% \fi -% \ifdefined\nohyperref\else\ifdefined\hypersetup -% \hypersetup{pdfkeywords={#1}} -% \fi\fi -% \ifdefined\isaccepted \else -% \par {\bf Keywords:} #1% -% \fi - \ifdefined\nohyperref\else\ifdefined\hypersetup - \hypersetup{pdfkeywords={#1}} - \fi\fi -} - -% modification to natbib citations -\setcitestyle{authoryear,round,citesep={;},aysep={,},yysep={;}} - -% Redefinition of the abstract environment. -\renewenvironment{abstract} - {% -% Insert the ``appearing in'' copyright notice. -%\@copyrightspace -\centerline{\large\bf\scshape Abstract} - \vspace{-0.12in}\begin{quote}} - {\par\end{quote}\vskip 0.12in} - -% numbered section headings with different treatment of numbers - -\def\@startsection#1#2#3#4#5#6{\if@noskipsec \leavevmode \fi - \par \@tempskipa #4\relax - \@afterindenttrue -% Altered the following line to indent a section's first paragraph. -% \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi - \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \fi - \if@nobreak \everypar{}\else - \addpenalty{\@secpenalty}\addvspace{\@tempskipa}\fi \@ifstar - {\@ssect{#3}{#4}{#5}{#6}}{\@dblarg{\@sict{#1}{#2}{#3}{#4}{#5}{#6}}}} - -\def\@sict#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth - \def\@svsec{}\else - \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname}\fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup #6\relax - %%% GS: changed @svsec from .~ to \quad - \@hangfrom{\hskip #3\relax\@svsec\quad}{\interlinepenalty \@M #8\par} - \endgroup - \csname #1mark\endcsname{#7}\addcontentsline - {toc}{#1}{\ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}\fi - #7}\else - \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname - {#7}\addcontentsline - {toc}{#1}{\ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}\fi - #7}}\fi - \@xsect{#5}} - -\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth - \def\@svsec{}\else - \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 0.4em }\fi - \@tempskipa #5\relax - \ifdim \@tempskipa>\z@ - \begingroup #6\relax - \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par} - \endgroup - \csname #1mark\endcsname{#7}\addcontentsline - {toc}{#1}{\ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}\fi - #7}\else - \def\@svsechd{#6\hskip #3\@svsec #8\csname #1mark\endcsname - {#7}\addcontentsline - {toc}{#1}{\ifnum #2>\c@secnumdepth \else - \protect\numberline{\csname the#1\endcsname}\fi - #7}}\fi - \@xsect{#5}} - -% section headings with less space above and below them -\def\thesection {\arabic{section}} -\def\thesubsection {\thesection.\arabic{subsection}} -%%% GS: added \scshape below -\def\section{\@startsection{section}{1}{\z@}{-0.12in}{0.02in} - {\large\bf\scshape\raggedright}} -\def\subsection{\@startsection{subsection}{2}{\z@}{-0.10in}{0.01in} - {\normalsize\bf\raggedright}} - %%% GS: removed \sc below, added \itshape -\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-0.08in}{0.01in} - {\normalsize\itshape\raggedright}} -\def\paragraph{\@startsection{paragraph}{4}{\z@}{1.5ex plus - 0.5ex minus .2ex}{-1em}{\normalsize\bf}} -\def\subparagraph{\@startsection{subparagraph}{5}{\z@}{1.5ex plus - 0.5ex minus .2ex}{-1em}{\normalsize\bf}} - -% Footnotes -\footnotesep 6.65pt % -\skip\footins 9pt -\def\footnoterule{\kern-3pt \hrule width 0.8in \kern 2.6pt } -\setcounter{footnote}{0} - -% Lists and paragraphs -\parindent 0pt -\topsep 4pt plus 1pt minus 2pt -\partopsep 1pt plus 0.5pt minus 0.5pt -\itemsep 2pt plus 1pt minus 0.5pt -\parsep 2pt plus 1pt minus 0.5pt -\parskip 6pt - -\leftmargin 2em \leftmargini\leftmargin \leftmarginii 2em -\leftmarginiii 1.5em \leftmarginiv 1.0em \leftmarginv .5em -\leftmarginvi .5em -\labelwidth\leftmargini\advance\labelwidth-\labelsep \labelsep 5pt - -\def\@listi{\leftmargin\leftmargini} -\def\@listii{\leftmargin\leftmarginii - \labelwidth\leftmarginii\advance\labelwidth-\labelsep - \topsep 2pt plus 1pt minus 0.5pt - \parsep 1pt plus 0.5pt minus 0.5pt - \itemsep \parsep} -\def\@listiii{\leftmargin\leftmarginiii - \labelwidth\leftmarginiii\advance\labelwidth-\labelsep - \topsep 1pt plus 0.5pt minus 0.5pt - \parsep \z@ \partopsep 0.5pt plus 0pt minus 0.5pt - \itemsep \topsep} -\def\@listiv{\leftmargin\leftmarginiv - \labelwidth\leftmarginiv\advance\labelwidth-\labelsep} -\def\@listv{\leftmargin\leftmarginv - \labelwidth\leftmarginv\advance\labelwidth-\labelsep} -\def\@listvi{\leftmargin\leftmarginvi - \labelwidth\leftmarginvi\advance\labelwidth-\labelsep} - -\abovedisplayskip 7pt plus2pt minus5pt% -\belowdisplayskip \abovedisplayskip -\abovedisplayshortskip 0pt plus3pt% -\belowdisplayshortskip 4pt plus3pt minus3pt% - -% Less leading in most fonts (due to the narrow columns) -% The choices were between 1-pt and 1.5-pt leading -\def\@normalsize{\@setsize\normalsize{11pt}\xpt\@xpt} -\def\small{\@setsize\small{10pt}\ixpt\@ixpt} -\def\footnotesize{\@setsize\footnotesize{10pt}\ixpt\@ixpt} -\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt} -\def\tiny{\@setsize\tiny{7pt}\vipt\@vipt} -\def\large{\@setsize\large{14pt}\xiipt\@xiipt} -\def\Large{\@setsize\Large{16pt}\xivpt\@xivpt} -\def\LARGE{\@setsize\LARGE{20pt}\xviipt\@xviipt} -\def\huge{\@setsize\huge{23pt}\xxpt\@xxpt} -\def\Huge{\@setsize\Huge{28pt}\xxvpt\@xxvpt} - -% Revised formatting for figure captions and table titles. -\newsavebox\newcaptionbox\newdimen\newcaptionboxwid - -\long\def\@makecaption#1#2{ - \vskip 10pt - \baselineskip 11pt - \setbox\@tempboxa\hbox{#1. #2} - \ifdim \wd\@tempboxa >\hsize - \sbox{\newcaptionbox}{\small\sl #1.~} - \newcaptionboxwid=\wd\newcaptionbox - \usebox\newcaptionbox {\footnotesize #2} -% \usebox\newcaptionbox {\small #2} - \else - \centerline{{\small\sl #1.} {\small #2}} - \fi} - -\def\fnum@figure{Figure \thefigure} -\def\fnum@table{Table \thetable} - -% Strut macros for skipping spaces above and below text in tables. -\def\abovestrut#1{\rule[0in]{0in}{#1}\ignorespaces} -\def\belowstrut#1{\rule[-#1]{0in}{#1}\ignorespaces} - -\def\abovespace{\abovestrut{0.20in}} -\def\aroundspace{\abovestrut{0.20in}\belowstrut{0.10in}} -\def\belowspace{\belowstrut{0.10in}} - -% Various personal itemization commands. -\def\texitem#1{\par\noindent\hangindent 12pt - \hbox to 12pt {\hss #1 ~}\ignorespaces} -\def\icmlitem{\texitem{$\bullet$}} - -% To comment out multiple lines of text. -\long\def\comment#1{} - - - - -%% Line counter (not in final version). Adapted from NIPS style file by Christoph Sawade - -% Vertical Ruler -% This code is, largely, from the CVPR 2010 conference style file -% ----- define vruler -\makeatletter -\newbox\icmlrulerbox -\newcount\icmlrulercount -\newdimen\icmlruleroffset -\newdimen\cv@lineheight -\newdimen\cv@boxheight -\newbox\cv@tmpbox -\newcount\cv@refno -\newcount\cv@tot -% NUMBER with left flushed zeros \fillzeros[] -\newcount\cv@tmpc@ \newcount\cv@tmpc -\def\fillzeros[#1]#2{\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi -\cv@tmpc=1 % -\loop\ifnum\cv@tmpc@<10 \else \divide\cv@tmpc@ by 10 \advance\cv@tmpc by 1 \fi - \ifnum\cv@tmpc@=10\relax\cv@tmpc@=11\relax\fi \ifnum\cv@tmpc@>10 \repeat -\ifnum#2<0\advance\cv@tmpc1\relax-\fi -\loop\ifnum\cv@tmpc<#1\relax0\advance\cv@tmpc1\relax\fi \ifnum\cv@tmpc<#1 \repeat -\cv@tmpc@=#2\relax\ifnum\cv@tmpc@<0\cv@tmpc@=-\cv@tmpc@\fi \relax\the\cv@tmpc@}% -% \makevruler[][][][][] -\def\makevruler[#1][#2][#3][#4][#5]{ - \begingroup\offinterlineskip - \textheight=#5\vbadness=10000\vfuzz=120ex\overfullrule=0pt% - \global\setbox\icmlrulerbox=\vbox to \textheight{% - { - \parskip=0pt\hfuzz=150em\cv@boxheight=\textheight - \cv@lineheight=#1\global\icmlrulercount=#2% - \cv@tot\cv@boxheight\divide\cv@tot\cv@lineheight\advance\cv@tot2% - \cv@refno1\vskip-\cv@lineheight\vskip1ex% - \loop\setbox\cv@tmpbox=\hbox to0cm{ % side margin - \hfil {\hfil\fillzeros[#4]\icmlrulercount} - }% - \ht\cv@tmpbox\cv@lineheight\dp\cv@tmpbox0pt\box\cv@tmpbox\break - \advance\cv@refno1\global\advance\icmlrulercount#3\relax - \ifnum\cv@refno<\cv@tot\repeat - } - } - \endgroup -}% -\makeatother -% ----- end of vruler - - -% \makevruler[][][][][] -\def\icmlruler#1{\makevruler[12pt][#1][1][3][\textheight]\usebox{\icmlrulerbox}} -\AddToShipoutPicture{% -\icmlruleroffset=\textheight -\advance\icmlruleroffset by 5.2pt % top margin - \color[rgb]{.7,.7,.7} - \ifdefined\isaccepted \else - \AtTextUpperLeft{% - \put(\LenToUnit{-35pt},\LenToUnit{-\icmlruleroffset}){%left ruler - \icmlruler{\icmlrulercount}} -% \put(\LenToUnit{1.04\textwidth},\LenToUnit{-\icmlruleroffset}){%right ruler -% \icmlruler{\icmlrulercount}} - } - \fi -} -\endinput diff --git a/iree/turbine/kernel/wave/docs/mlsys/tkw.bbl b/iree/turbine/kernel/wave/docs/mlsys/tkw.bbl deleted file mode 100644 index 5ca46234..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/tkw.bbl +++ /dev/null @@ -1,208 +0,0 @@ -\begin{thebibliography}{6} -\providecommand{\natexlab}[1]{#1} -\providecommand{\url}[1]{\texttt{#1}} -\expandafter\ifx\csname urlstyle\endcsname\relax - \providecommand{\doi}[1]{doi: #1}\else - \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi - -\bibitem[Chetlur et~al.(2014)Chetlur, Woolley, Vandermersch, Cohen, Tran, - Catanzaro, and Shelhamer]{chetlur_cudnn_2014} -Chetlur, S., Woolley, C., Vandermersch, P., Cohen, J., Tran, J., Catanzaro, B., - and Shelhamer, E. -\newblock {cuDNN}: {Efficient} {Primitives} for {Deep} {Learning}, December - 2014. -\newblock URL \url{http://arxiv.org/abs/1410.0759}. -\newblock arXiv:1410.0759 [cs]. - -\bibitem[Dubey et~al.(2024)Dubey, Jauhri, Pandey, Kadian, Al-Dahle, Letman, - Mathur, Schelten, Yang, Fan, Goyal, Hartshorn, Yang, Mitra, Sravankumar, - Korenev, Hinsvark, Rao, Zhang, Rodriguez, Gregerson, Spataru, Roziere, Biron, - Tang, Chern, Caucheteux, Nayak, Bi, Marra, McConnell, Keller, Touret, Wu, - Wong, Ferrer, Nikolaidis, Allonsius, Song, Pintz, Livshits, Esiobu, - Choudhary, Mahajan, Garcia-Olano, Perino, Hupkes, Lakomkin, AlBadawy, - Lobanova, Dinan, Smith, Radenovic, Zhang, Synnaeve, Lee, Anderson, Nail, - Mialon, Pang, Cucurell, Nguyen, Korevaar, Xu, Touvron, Zarov, Ibarra, - Kloumann, Misra, Evtimov, Copet, Lee, Geffert, Vranes, Park, Mahadeokar, - Shah, van~der Linde, Billock, Hong, Lee, Fu, Chi, Huang, Liu, Wang, Yu, - Bitton, Spisak, Park, Rocca, Johnstun, Saxe, Jia, Alwala, Upasani, Plawiak, - Li, Heafield, Stone, El-Arini, Iyer, Malik, Chiu, Bhalla, Rantala-Yeary, - van~der Maaten, Chen, Tan, Jenkins, Martin, Madaan, Malo, Blecher, Landzaat, - de~Oliveira, Muzzi, Pasupuleti, Singh, Paluri, Kardas, Oldham, Rita, Pavlova, - Kambadur, Lewis, Si, Singh, Hassan, Goyal, Torabi, Bashlykov, Bogoychev, - Chatterji, Duchenne, Çelebi, Alrassy, Zhang, Li, Vasic, Weng, Bhargava, - Dubal, Krishnan, Koura, Xu, He, Dong, Srinivasan, Ganapathy, Calderer, - Cabral, Stojnic, Raileanu, Girdhar, Patel, Sauvestre, Polidoro, Sumbaly, - Taylor, Silva, Hou, Wang, Hosseini, Chennabasappa, Singh, Bell, Kim, Edunov, - Nie, Narang, Raparthy, Shen, Wan, Bhosale, Zhang, Vandenhende, Batra, - Whitman, Sootla, Collot, Gururangan, Borodinsky, Herman, Fowler, Sheasha, - Georgiou, Scialom, Speckbacher, Mihaylov, Xiao, Karn, Goswami, Gupta, - Ramanathan, Kerkez, Gonguet, Do, Vogeti, Petrovic, Chu, Xiong, Fu, Meers, - Martinet, Wang, Tan, Xie, Jia, Wang, Goldschlag, Gaur, Babaei, Wen, Song, - Zhang, Li, Mao, Coudert, Yan, Chen, Papakipos, Singh, Grattafiori, Jain, - Kelsey, Shajnfeld, Gangidi, Victoria, Goldstand, Menon, Sharma, Boesenberg, - Vaughan, Baevski, Feinstein, Kallet, Sangani, Yunus, Lupu, Alvarado, Caples, - Gu, Ho, Poulton, Ryan, Ramchandani, Franco, Saraf, Chowdhury, Gabriel, - Bharambe, Eisenman, Yazdan, James, Maurer, Leonhardi, Huang, Loyd, De~Paola, - Paranjape, Liu, Wu, Ni, Hancock, Wasti, Spence, Stojkovic, Gamido, Montalvo, - Parker, Burton, Mejia, Wang, Kim, Zhou, Hu, Chu, Cai, Tindal, Feichtenhofer, - Civin, Beaty, Kreymer, Li, Wyatt, Adkins, Xu, Testuggine, David, Parikh, - Liskovich, Foss, Wang, Le, Holland, Dowling, Jamil, Montgomery, Presani, - Hahn, Wood, Brinkman, Arcaute, Dunbar, Smothers, Sun, Kreuk, Tian, Ozgenel, - Caggioni, Guzmán, Kanayet, Seide, Florez, Schwarz, Badeer, Swee, Halpern, - Thattai, Herman, Sizov, Guangyi, Zhang, Lakshminarayanan, Shojanazeri, Zou, - Wang, Zha, Habeeb, Rudolph, Suk, Aspegren, Goldman, Damlaj, Molybog, Tufanov, - Veliche, Gat, Weissman, Geboski, Kohli, Asher, Gaya, Marcus, Tang, Chan, - Zhen, Reizenstein, Teboul, Zhong, Jin, Yang, Cummings, Carvill, Shepard, - McPhie, Torres, Ginsburg, Wang, Wu, U, Saxena, Prasad, Khandelwal, Zand, - Matosich, Veeraraghavan, Michelena, Li, Huang, Chawla, Lakhotia, Huang, Chen, - Garg, A, Silva, Bell, Zhang, Guo, Yu, Moshkovich, Wehrstedt, Khabsa, Avalani, - Bhatt, Tsimpoukelli, Mankus, Hasson, Lennie, Reso, Groshev, Naumov, Lathi, - Keneally, Seltzer, Valko, Restrepo, Patel, Vyatskov, Samvelyan, Clark, Macey, - Wang, Hermoso, Metanat, Rastegari, Bansal, Santhanam, Parks, White, Bawa, - Singhal, Egebo, Usunier, Laptev, Dong, Zhang, Cheng, Chernoguz, Hart, - Salpekar, Kalinli, Kent, Parekh, Saab, Balaji, Rittner, Bontrager, Roux, - Dollar, Zvyagina, Ratanchandani, Yuvraj, Liang, Alao, Rodriguez, Ayub, - Murthy, Nayani, Mitra, Li, Hogan, Battey, Wang, Maheswari, Howes, Rinott, - Bondu, Datta, Chugh, Hunt, Dhillon, Sidorov, Pan, Verma, Yamamoto, Ramaswamy, - Lindsay, Lindsay, Feng, Lin, Zha, Shankar, Zhang, Zhang, Wang, Agarwal, - Sajuyigbe, Chintala, Max, Chen, Kehoe, Satterfield, Govindaprasad, Gupta, - Cho, Virk, Subramanian, Choudhury, Goldman, Remez, Glaser, Best, Kohler, - Robinson, Li, Zhang, Matthews, Chou, Shaked, Vontimitta, Ajayi, Montanez, - Mohan, Kumar, Mangla, Albiero, Ionescu, Poenaru, Mihailescu, Ivanov, Li, - Wang, Jiang, Bouaziz, Constable, Tang, Wang, Wu, Wang, Xia, Wu, Gao, Chen, - Hu, Jia, Qi, Li, Zhang, Zhang, Adi, Nam, Yu, Wang, Hao, Qian, He, Rait, - DeVito, Rosnbrick, Wen, Yang, and Zhao]{dubey_llama_2024} -Dubey, A., Jauhri, A., Pandey, A., Kadian, A., Al-Dahle, A., Letman, A., - Mathur, A., Schelten, A., Yang, A., Fan, A., Goyal, A., Hartshorn, A., Yang, - A., Mitra, A., Sravankumar, A., Korenev, A., Hinsvark, A., Rao, A., Zhang, - A., Rodriguez, A., Gregerson, A., Spataru, A., Roziere, B., Biron, B., Tang, - B., Chern, B., Caucheteux, C., Nayak, C., Bi, C., Marra, C., McConnell, C., - Keller, C., Touret, C., Wu, C., Wong, C., Ferrer, C.~C., Nikolaidis, C., - Allonsius, D., Song, D., Pintz, D., Livshits, D., Esiobu, D., Choudhary, D., - Mahajan, D., Garcia-Olano, D., Perino, D., Hupkes, D., Lakomkin, E., - AlBadawy, E., Lobanova, E., Dinan, E., Smith, E.~M., Radenovic, F., Zhang, - F., Synnaeve, G., Lee, G., Anderson, G.~L., Nail, G., Mialon, G., Pang, G., - Cucurell, G., Nguyen, H., Korevaar, H., Xu, H., Touvron, H., Zarov, I., - Ibarra, I.~A., Kloumann, I., Misra, I., Evtimov, I., Copet, J., Lee, J., - Geffert, J., Vranes, J., Park, J., Mahadeokar, J., Shah, J., van~der Linde, - J., Billock, J., Hong, J., Lee, J., Fu, J., Chi, J., Huang, J., Liu, J., - Wang, J., Yu, J., Bitton, J., Spisak, J., Park, J., Rocca, J., Johnstun, J., - Saxe, J., Jia, J., Alwala, K.~V., Upasani, K., Plawiak, K., Li, K., Heafield, - K., Stone, K., El-Arini, K., Iyer, K., Malik, K., Chiu, K., Bhalla, K., - Rantala-Yeary, L., van~der Maaten, L., Chen, L., Tan, L., Jenkins, L., - Martin, L., Madaan, L., Malo, L., Blecher, L., Landzaat, L., de~Oliveira, L., - Muzzi, M., Pasupuleti, M., Singh, M., Paluri, M., Kardas, M., Oldham, M., - Rita, M., Pavlova, M., Kambadur, M., Lewis, M., Si, M., Singh, M.~K., Hassan, - M., Goyal, N., Torabi, N., Bashlykov, N., Bogoychev, N., Chatterji, N., - Duchenne, O., Çelebi, O., Alrassy, P., Zhang, P., Li, P., Vasic, P., Weng, - P., Bhargava, P., Dubal, P., Krishnan, P., Koura, P.~S., Xu, P., He, Q., - Dong, Q., Srinivasan, R., Ganapathy, R., Calderer, R., Cabral, R.~S., - Stojnic, R., Raileanu, R., Girdhar, R., Patel, R., Sauvestre, R., Polidoro, - R., Sumbaly, R., Taylor, R., Silva, R., Hou, R., Wang, R., Hosseini, S., - Chennabasappa, S., Singh, S., Bell, S., Kim, S.~S., Edunov, S., Nie, S., - Narang, S., Raparthy, S., Shen, S., Wan, S., Bhosale, S., Zhang, S., - Vandenhende, S., Batra, S., Whitman, S., Sootla, S., Collot, S., Gururangan, - S., Borodinsky, S., Herman, T., Fowler, T., Sheasha, T., Georgiou, T., - Scialom, T., Speckbacher, T., Mihaylov, T., Xiao, T., Karn, U., Goswami, V., - Gupta, V., Ramanathan, V., Kerkez, V., Gonguet, V., Do, V., Vogeti, V., - Petrovic, V., Chu, W., Xiong, W., Fu, W., Meers, W., Martinet, X., Wang, X., - Tan, X.~E., Xie, X., Jia, X., Wang, X., Goldschlag, Y., Gaur, Y., Babaei, Y., - Wen, Y., Song, Y., Zhang, Y., Li, Y., Mao, Y., Coudert, Z.~D., Yan, Z., Chen, - Z., Papakipos, Z., Singh, A., Grattafiori, A., Jain, A., Kelsey, A., - Shajnfeld, A., Gangidi, A., Victoria, A., Goldstand, A., Menon, A., Sharma, - A., Boesenberg, A., Vaughan, A., Baevski, A., Feinstein, A., Kallet, A., - Sangani, A., Yunus, A., Lupu, A., Alvarado, A., Caples, A., Gu, A., Ho, A., - Poulton, A., Ryan, A., Ramchandani, A., Franco, A., Saraf, A., Chowdhury, A., - Gabriel, A., Bharambe, A., Eisenman, A., Yazdan, A., James, B., Maurer, B., - Leonhardi, B., Huang, B., Loyd, B., De~Paola, B., Paranjape, B., Liu, B., Wu, - B., Ni, B., Hancock, B., Wasti, B., Spence, B., Stojkovic, B., Gamido, B., - Montalvo, B., Parker, C., Burton, C., Mejia, C., Wang, C., Kim, C., Zhou, C., - Hu, C., Chu, C.-H., Cai, C., Tindal, C., Feichtenhofer, C., Civin, D., Beaty, - D., Kreymer, D., Li, D., Wyatt, D., Adkins, D., Xu, D., Testuggine, D., - David, D., Parikh, D., Liskovich, D., Foss, D., Wang, D., Le, D., Holland, - D., Dowling, E., Jamil, E., Montgomery, E., Presani, E., Hahn, E., Wood, E., - Brinkman, E., Arcaute, E., Dunbar, E., Smothers, E., Sun, F., Kreuk, F., - Tian, F., Ozgenel, F., Caggioni, F., Guzmán, F., Kanayet, F., Seide, F., - Florez, G.~M., Schwarz, G., Badeer, G., Swee, G., Halpern, G., Thattai, G., - Herman, G., Sizov, G., Guangyi, Zhang, Lakshminarayanan, G., Shojanazeri, H., - Zou, H., Wang, H., Zha, H., Habeeb, H., Rudolph, H., Suk, H., Aspegren, H., - Goldman, H., Damlaj, I., Molybog, I., Tufanov, I., Veliche, I.-E., Gat, I., - Weissman, J., Geboski, J., Kohli, J., Asher, J., Gaya, J.-B., Marcus, J., - Tang, J., Chan, J., Zhen, J., Reizenstein, J., Teboul, J., Zhong, J., Jin, - J., Yang, J., Cummings, J., Carvill, J., Shepard, J., McPhie, J., Torres, J., - Ginsburg, J., Wang, J., Wu, K., U, K.~H., Saxena, K., Prasad, K., Khandelwal, - K., Zand, K., Matosich, K., Veeraraghavan, K., Michelena, K., Li, K., Huang, - K., Chawla, K., Lakhotia, K., Huang, K., Chen, L., Garg, L., A, L., Silva, - L., Bell, L., Zhang, L., Guo, L., Yu, L., Moshkovich, L., Wehrstedt, L., - Khabsa, M., Avalani, M., Bhatt, M., Tsimpoukelli, M., Mankus, M., Hasson, M., - Lennie, M., Reso, M., Groshev, M., Naumov, M., Lathi, M., Keneally, M., - Seltzer, M.~L., Valko, M., Restrepo, M., Patel, M., Vyatskov, M., Samvelyan, - M., Clark, M., Macey, M., Wang, M., Hermoso, M.~J., Metanat, M., Rastegari, - M., Bansal, M., Santhanam, N., Parks, N., White, N., Bawa, N., Singhal, N., - Egebo, N., Usunier, N., Laptev, N.~P., Dong, N., Zhang, N., Cheng, N., - Chernoguz, O., Hart, O., Salpekar, O., Kalinli, O., Kent, P., Parekh, P., - Saab, P., Balaji, P., Rittner, P., Bontrager, P., Roux, P., Dollar, P., - Zvyagina, P., Ratanchandani, P., Yuvraj, P., Liang, Q., Alao, R., Rodriguez, - R., Ayub, R., Murthy, R., Nayani, R., Mitra, R., Li, R., Hogan, R., Battey, - R., Wang, R., Maheswari, R., Howes, R., Rinott, R., Bondu, S.~J., Datta, S., - Chugh, S., Hunt, S., Dhillon, S., Sidorov, S., Pan, S., Verma, S., Yamamoto, - S., Ramaswamy, S., Lindsay, S., Lindsay, S., Feng, S., Lin, S., Zha, S.~C., - Shankar, S., Zhang, S., Zhang, S., Wang, S., Agarwal, S., Sajuyigbe, S., - Chintala, S., Max, S., Chen, S., Kehoe, S., Satterfield, S., Govindaprasad, - S., Gupta, S., Cho, S., Virk, S., Subramanian, S., Choudhury, S., Goldman, - S., Remez, T., Glaser, T., Best, T., Kohler, T., Robinson, T., Li, T., Zhang, - T., Matthews, T., Chou, T., Shaked, T., Vontimitta, V., Ajayi, V., Montanez, - V., Mohan, V., Kumar, V.~S., Mangla, V., Albiero, V., Ionescu, V., Poenaru, - V., Mihailescu, V.~T., Ivanov, V., Li, W., Wang, W., Jiang, W., Bouaziz, W., - Constable, W., Tang, X., Wang, X., Wu, X., Wang, X., Xia, X., Wu, X., Gao, - X., Chen, Y., Hu, Y., Jia, Y., Qi, Y., Li, Y., Zhang, Y., Zhang, Y., Adi, Y., - Nam, Y., Yu, Wang, Hao, Y., Qian, Y., He, Y., Rait, Z., DeVito, Z., - Rosnbrick, Z., Wen, Z., Yang, Z., and Zhao, Z. -\newblock The {Llama} 3 {Herd} of {Models}, August 2024. -\newblock URL \url{http://arxiv.org/abs/2407.21783}. -\newblock arXiv:2407.21783 [cs]. - -\bibitem[Paszke et~al.(2019)Paszke, Gross, Massa, Lerer, Bradbury, Chanan, - Killeen, Lin, Gimelshein, Antiga, Desmaison, Köpf, Yang, DeVito, Raison, - Tejani, Chilamkurthy, Steiner, Fang, Bai, and Chintala]{paszke_pytorch_2019} -Paszke, A., Gross, S., Massa, F., Lerer, A., Bradbury, J., Chanan, G., Killeen, - T., Lin, Z., Gimelshein, N., Antiga, L., Desmaison, A., Köpf, A., Yang, E., - DeVito, Z., Raison, M., Tejani, A., Chilamkurthy, S., Steiner, B., Fang, L., - Bai, J., and Chintala, S. -\newblock {PyTorch}: {An} {Imperative} {Style}, {High}-{Performance} {Deep} - {Learning} {Library}, December 2019. -\newblock URL \url{http://arxiv.org/abs/1912.01703}. -\newblock arXiv:1912.01703 [cs, stat]. - -\bibitem[Podell et~al.(2023)Podell, English, Lacey, Blattmann, Dockhorn, - Müller, Penna, and Rombach]{podell_sdxl_2023} -Podell, D., English, Z., Lacey, K., Blattmann, A., Dockhorn, T., Müller, J., - Penna, J., and Rombach, R. -\newblock {SDXL}: {Improving} {Latent} {Diffusion} {Models} for - {High}-{Resolution} {Image} {Synthesis}, July 2023. -\newblock URL \url{http://arxiv.org/abs/2307.01952}. -\newblock arXiv:2307.01952 [cs]. - -\bibitem[Sun et~al.(2023)Sun, Li, Geng, Stuijk, and - Corporaal]{sun_dissecting_2023} -Sun, W., Li, A., Geng, T., Stuijk, S., and Corporaal, H. -\newblock Dissecting {Tensor} {Cores} via {Microbenchmarks}: {Latency}, - {Throughput} and {Numeric} {Behaviors}. -\newblock \emph{IEEE Transactions on Parallel and Distributed Systems}, - 34\penalty0 (1):\penalty0 246--261, January 2023. -\newblock ISSN 1045-9219, 1558-2183, 2161-9883. -\newblock \doi{10.1109/TPDS.2022.3217824}. -\newblock URL \url{https://ieeexplore.ieee.org/document/9931992/}. - -\bibitem[Tillet et~al.(2019)Tillet, Kung, and Cox]{tillet_triton_2019} -Tillet, P., Kung, H.~T., and Cox, D. -\newblock Triton: an intermediate language and compiler for tiled neural - network computations. -\newblock In \emph{Proceedings of the 3rd {ACM} {SIGPLAN} {International} - {Workshop} on {Machine} {Learning} and {Programming} {Languages}}, pp.\ - 10--19, Phoenix AZ USA, June 2019. ACM. -\newblock ISBN 978-1-4503-6719-6. -\newblock \doi{10.1145/3315508.3329973}. -\newblock URL \url{https://dl.acm.org/doi/10.1145/3315508.3329973}. - -\end{thebibliography} diff --git a/iree/turbine/kernel/wave/docs/mlsys/tkw.bib b/iree/turbine/kernel/wave/docs/mlsys/tkw.bib deleted file mode 100644 index da5bcf3d..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/tkw.bib +++ /dev/null @@ -1,111 +0,0 @@ - -@inproceedings{tillet_triton_2019, - address = {Phoenix AZ USA}, - title = {Triton: an intermediate language and compiler for tiled neural network computations}, - isbn = {978-1-4503-6719-6}, - shorttitle = {Triton}, - url = {https://dl.acm.org/doi/10.1145/3315508.3329973}, - doi = {10.1145/3315508.3329973}, - abstract = {The validation and deployment of novel research ideas in the field of Deep Learning is often limited by the availability of efficient compute kernels for certain basic primitives. In particular, operations that cannot leverage existing vendor libraries (e.g., cuBLAS, cuDNN) are at risk of facing poor device utilization unless custom implementations are written by experts – usually at the expense of portability. For this reason, the development of new programming abstractions for specifying custom Deep Learning workloads at a minimal performance cost has become crucial.}, - language = {en}, - urldate = {2024-09-25}, - booktitle = {Proceedings of the 3rd {ACM} {SIGPLAN} {International} {Workshop} on {Machine} {Learning} and {Programming} {Languages}}, - publisher = {ACM}, - author = {Tillet, Philippe and Kung, H. T. and Cox, David}, - month = jun, - year = {2019}, - pages = {10--19}, - file = {PDF:/Users/harsh/Zotero/storage/FMLLYK4M/Tillet et al. - 2019 - Triton an intermediate language and compiler for tiled neural network computations.pdf:application/pdf}, -} - -@misc{podell_sdxl_2023, - title = {{SDXL}: {Improving} {Latent} {Diffusion} {Models} for {High}-{Resolution} {Image} {Synthesis}}, - shorttitle = {{SDXL}}, - url = {http://arxiv.org/abs/2307.01952}, - abstract = {We present SDXL, a latent diffusion model for text-to-image synthesis. Compared to previous versions of Stable Diffusion, SDXL leverages a three times larger UNet backbone: The increase of model parameters is mainly due to more attention blocks and a larger cross-attention context as SDXL uses a second text encoder. We design multiple novel conditioning schemes and train SDXL on multiple aspect ratios. We also introduce a refinement model which is used to improve the visual fidelity of samples generated by SDXL using a post-hoc image-to-image technique. We demonstrate that SDXL shows drastically improved performance compared to previous versions of Stable Diffusion and achieves results competitive with those of black-box state-of-the-art image generators. In the spirit of promoting open research and fostering transparency in large model training and evaluation, we provide access to code and model weights.}, - language = {en}, - urldate = {2024-09-25}, - publisher = {arXiv}, - author = {Podell, Dustin and English, Zion and Lacey, Kyle and Blattmann, Andreas and Dockhorn, Tim and Müller, Jonas and Penna, Joe and Rombach, Robin}, - month = jul, - year = {2023}, - note = {arXiv:2307.01952 [cs]}, - keywords = {Computer Science - Artificial Intelligence, Computer Science - Computer Vision and Pattern Recognition}, - file = {PDF:/Users/harsh/Zotero/storage/ARJZQZ42/Podell et al. - 2023 - SDXL Improving Latent Diffusion Models for High-Resolution Image Synthesis.pdf:application/pdf}, -} - -@misc{dubey_llama_2024, - title = {The {Llama} 3 {Herd} of {Models}}, - url = {http://arxiv.org/abs/2407.21783}, - abstract = {Modern artificial intelligence (AI) systems are powered by foundation models. This paper presents a new set of foundation models, called Llama 3. It is a herd of language models that natively support multilinguality, coding, reasoning, and tool usage. Our largest model is a dense Transformer with 405B parameters and a context window of up to 128K tokens. This paper presents an extensive empirical evaluation of Llama 3. We find that Llama 3 delivers comparable quality to leading language models such as GPT-4 on a plethora of tasks. We publicly release Llama 3, including pre-trained and post-trained versions of the 405B parameter language model and our Llama Guard 3 model for input and output safety. The paper also presents the results of experiments in which we integrate image, video, and speech capabilities into Llama 3 via a compositional approach. We observe this approach performs competitively with the state-of-the-art on image, video, and speech recognition tasks. The resulting models are not yet being broadly released as they are still under development.}, - language = {en}, - urldate = {2024-09-25}, - publisher = {arXiv}, - author = {Dubey, Abhimanyu and Jauhri, Abhinav and Pandey, Abhinav and Kadian, Abhishek and Al-Dahle, Ahmad and Letman, Aiesha and Mathur, Akhil and Schelten, Alan and Yang, Amy and Fan, Angela and Goyal, Anirudh and Hartshorn, Anthony and Yang, Aobo and Mitra, Archi and Sravankumar, Archie and Korenev, Artem and Hinsvark, Arthur and Rao, Arun and Zhang, Aston and Rodriguez, Aurelien and Gregerson, Austen and Spataru, Ava and Roziere, Baptiste and Biron, Bethany and Tang, Binh and Chern, Bobbie and Caucheteux, Charlotte and Nayak, Chaya and Bi, Chloe and Marra, Chris and McConnell, Chris and Keller, Christian and Touret, Christophe and Wu, Chunyang and Wong, Corinne and Ferrer, Cristian Canton and Nikolaidis, Cyrus and Allonsius, Damien and Song, Daniel and Pintz, Danielle and Livshits, Danny and Esiobu, David and Choudhary, Dhruv and Mahajan, Dhruv and Garcia-Olano, Diego and Perino, Diego and Hupkes, Dieuwke and Lakomkin, Egor and AlBadawy, Ehab and Lobanova, Elina and Dinan, Emily and Smith, Eric Michael and Radenovic, Filip and Zhang, Frank and Synnaeve, Gabriel and Lee, Gabrielle and Anderson, Georgia Lewis and Nail, Graeme and Mialon, Gregoire and Pang, Guan and Cucurell, Guillem and Nguyen, Hailey and Korevaar, Hannah and Xu, Hu and Touvron, Hugo and Zarov, Iliyan and Ibarra, Imanol Arrieta and Kloumann, Isabel and Misra, Ishan and Evtimov, Ivan and Copet, Jade and Lee, Jaewon and Geffert, Jan and Vranes, Jana and Park, Jason and Mahadeokar, Jay and Shah, Jeet and van der Linde, Jelmer and Billock, Jennifer and Hong, Jenny and Lee, Jenya and Fu, Jeremy and Chi, Jianfeng and Huang, Jianyu and Liu, Jiawen and Wang, Jie and Yu, Jiecao and Bitton, Joanna and Spisak, Joe and Park, Jongsoo and Rocca, Joseph and Johnstun, Joshua and Saxe, Joshua and Jia, Junteng and Alwala, Kalyan Vasuden and Upasani, Kartikeya and Plawiak, Kate and Li, Ke and Heafield, Kenneth and Stone, Kevin and El-Arini, Khalid and Iyer, Krithika and Malik, Kshitiz and Chiu, Kuenley and Bhalla, Kunal and Rantala-Yeary, Lauren and van der Maaten, Laurens and Chen, Lawrence and Tan, Liang and Jenkins, Liz and Martin, Louis and Madaan, Lovish and Malo, Lubo and Blecher, Lukas and Landzaat, Lukas and de Oliveira, Luke and Muzzi, Madeline and Pasupuleti, Mahesh and Singh, Mannat and Paluri, Manohar and Kardas, Marcin and Oldham, Mathew and Rita, Mathieu and Pavlova, Maya and Kambadur, Melanie and Lewis, Mike and Si, Min and Singh, Mitesh Kumar and Hassan, Mona and Goyal, Naman and Torabi, Narjes and Bashlykov, Nikolay and Bogoychev, Nikolay and Chatterji, Niladri and Duchenne, Olivier and Çelebi, Onur and Alrassy, Patrick and Zhang, Pengchuan and Li, Pengwei and Vasic, Petar and Weng, Peter and Bhargava, Prajjwal and Dubal, Pratik and Krishnan, Praveen and Koura, Punit Singh and Xu, Puxin and He, Qing and Dong, Qingxiao and Srinivasan, Ragavan and Ganapathy, Raj and Calderer, Ramon and Cabral, Ricardo Silveira and Stojnic, Robert and Raileanu, Roberta and Girdhar, Rohit and Patel, Rohit and Sauvestre, Romain and Polidoro, Ronnie and Sumbaly, Roshan and Taylor, Ross and Silva, Ruan and Hou, Rui and Wang, Rui and Hosseini, Saghar and Chennabasappa, Sahana and Singh, Sanjay and Bell, Sean and Kim, Seohyun Sonia and Edunov, Sergey and Nie, Shaoliang and Narang, Sharan and Raparthy, Sharath and Shen, Sheng and Wan, Shengye and Bhosale, Shruti and Zhang, Shun and Vandenhende, Simon and Batra, Soumya and Whitman, Spencer and Sootla, Sten and Collot, Stephane and Gururangan, Suchin and Borodinsky, Sydney and Herman, Tamar and Fowler, Tara and Sheasha, Tarek and Georgiou, Thomas and Scialom, Thomas and Speckbacher, Tobias and Mihaylov, Todor and Xiao, Tong and Karn, Ujjwal and Goswami, Vedanuj and Gupta, Vibhor and Ramanathan, Vignesh and Kerkez, Viktor and Gonguet, Vincent and Do, Virginie and Vogeti, Vish and Petrovic, Vladan and Chu, Weiwei and Xiong, Wenhan and Fu, Wenyin and Meers, Whitney and Martinet, Xavier and Wang, Xiaodong and Tan, Xiaoqing Ellen and Xie, Xinfeng and Jia, Xuchao and Wang, Xuewei and Goldschlag, Yaelle and Gaur, Yashesh and Babaei, Yasmine and Wen, Yi and Song, Yiwen and Zhang, Yuchen and Li, Yue and Mao, Yuning and Coudert, Zacharie Delpierre and Yan, Zheng and Chen, Zhengxing and Papakipos, Zoe and Singh, Aaditya and Grattafiori, Aaron and Jain, Abha and Kelsey, Adam and Shajnfeld, Adam and Gangidi, Adithya and Victoria, Adolfo and Goldstand, Ahuva and Menon, Ajay and Sharma, Ajay and Boesenberg, Alex and Vaughan, Alex and Baevski, Alexei and Feinstein, Allie and Kallet, Amanda and Sangani, Amit and Yunus, Anam and Lupu, Andrei and Alvarado, Andres and Caples, Andrew and Gu, Andrew and Ho, Andrew and Poulton, Andrew and Ryan, Andrew and Ramchandani, Ankit and Franco, Annie and Saraf, Aparajita and Chowdhury, Arkabandhu and Gabriel, Ashley and Bharambe, Ashwin and Eisenman, Assaf and Yazdan, Azadeh and James, Beau and Maurer, Ben and Leonhardi, Benjamin and Huang, Bernie and Loyd, Beth and De Paola, Beto and Paranjape, Bhargavi and Liu, Bing and Wu, Bo and Ni, Boyu and Hancock, Braden and Wasti, Bram and Spence, Brandon and Stojkovic, Brani and Gamido, Brian and Montalvo, Britt and Parker, Carl and Burton, Carly and Mejia, Catalina and Wang, Changhan and Kim, Changkyu and Zhou, Chao and Hu, Chester and Chu, Ching-Hsiang and Cai, Chris and Tindal, Chris and Feichtenhofer, Christoph and Civin, Damon and Beaty, Dana and Kreymer, Daniel and Li, Daniel and Wyatt, Danny and Adkins, David and Xu, David and Testuggine, Davide and David, Delia and Parikh, Devi and Liskovich, Diana and Foss, Didem and Wang, Dingkang and Le, Duc and Holland, Dustin and Dowling, Edward and Jamil, Eissa and Montgomery, Elaine and Presani, Eleonora and Hahn, Emily and Wood, Emily and Brinkman, Erik and Arcaute, Esteban and Dunbar, Evan and Smothers, Evan and Sun, Fei and Kreuk, Felix and Tian, Feng and Ozgenel, Firat and Caggioni, Francesco and Guzmán, Francisco and Kanayet, Frank and Seide, Frank and Florez, Gabriela Medina and Schwarz, Gabriella and Badeer, Gada and Swee, Georgia and Halpern, Gil and Thattai, Govind and Herman, Grant and Sizov, Grigory and Guangyi and Zhang and Lakshminarayanan, Guna and Shojanazeri, Hamid and Zou, Han and Wang, Hannah and Zha, Hanwen and Habeeb, Haroun and Rudolph, Harrison and Suk, Helen and Aspegren, Henry and Goldman, Hunter and Damlaj, Ibrahim and Molybog, Igor and Tufanov, Igor and Veliche, Irina-Elena and Gat, Itai and Weissman, Jake and Geboski, James and Kohli, James and Asher, Japhet and Gaya, Jean-Baptiste and Marcus, Jeff and Tang, Jeff and Chan, Jennifer and Zhen, Jenny and Reizenstein, Jeremy and Teboul, Jeremy and Zhong, Jessica and Jin, Jian and Yang, Jingyi and Cummings, Joe and Carvill, Jon and Shepard, Jon and McPhie, Jonathan and Torres, Jonathan and Ginsburg, Josh and Wang, Junjie and Wu, Kai and U, Kam Hou and Saxena, Karan and Prasad, Karthik and Khandelwal, Kartikay and Zand, Katayoun and Matosich, Kathy and Veeraraghavan, Kaushik and Michelena, Kelly and Li, Keqian and Huang, Kun and Chawla, Kunal and Lakhotia, Kushal and Huang, Kyle and Chen, Lailin and Garg, Lakshya and A, Lavender and Silva, Leandro and Bell, Lee and Zhang, Lei and Guo, Liangpeng and Yu, Licheng and Moshkovich, Liron and Wehrstedt, Luca and Khabsa, Madian and Avalani, Manav and Bhatt, Manish and Tsimpoukelli, Maria and Mankus, Martynas and Hasson, Matan and Lennie, Matthew and Reso, Matthias and Groshev, Maxim and Naumov, Maxim and Lathi, Maya and Keneally, Meghan and Seltzer, Michael L. and Valko, Michal and Restrepo, Michelle and Patel, Mihir and Vyatskov, Mik and Samvelyan, Mikayel and Clark, Mike and Macey, Mike and Wang, Mike and Hermoso, Miquel Jubert and Metanat, Mo and Rastegari, Mohammad and Bansal, Munish and Santhanam, Nandhini and Parks, Natascha and White, Natasha and Bawa, Navyata and Singhal, Nayan and Egebo, Nick and Usunier, Nicolas and Laptev, Nikolay Pavlovich and Dong, Ning and Zhang, Ning and Cheng, Norman and Chernoguz, Oleg and Hart, Olivia and Salpekar, Omkar and Kalinli, Ozlem and Kent, Parkin and Parekh, Parth and Saab, Paul and Balaji, Pavan and Rittner, Pedro and Bontrager, Philip and Roux, Pierre and Dollar, Piotr and Zvyagina, Polina and Ratanchandani, Prashant and Yuvraj, Pritish and Liang, Qian and Alao, Rachad and Rodriguez, Rachel and Ayub, Rafi and Murthy, Raghotham and Nayani, Raghu and Mitra, Rahul and Li, Raymond and Hogan, Rebekkah and Battey, Robin and Wang, Rocky and Maheswari, Rohan and Howes, Russ and Rinott, Ruty and Bondu, Sai Jayesh and Datta, Samyak and Chugh, Sara and Hunt, Sara and Dhillon, Sargun and Sidorov, Sasha and Pan, Satadru and Verma, Saurabh and Yamamoto, Seiji and Ramaswamy, Sharadh and Lindsay, Shaun and Lindsay, Shaun and Feng, Sheng and Lin, Shenghao and Zha, Shengxin Cindy and Shankar, Shiva and Zhang, Shuqiang and Zhang, Shuqiang and Wang, Sinong and Agarwal, Sneha and Sajuyigbe, Soji and Chintala, Soumith and Max, Stephanie and Chen, Stephen and Kehoe, Steve and Satterfield, Steve and Govindaprasad, Sudarshan and Gupta, Sumit and Cho, Sungmin and Virk, Sunny and Subramanian, Suraj and Choudhury, Sy and Goldman, Sydney and Remez, Tal and Glaser, Tamar and Best, Tamara and Kohler, Thilo and Robinson, Thomas and Li, Tianhe and Zhang, Tianjun and Matthews, Tim and Chou, Timothy and Shaked, Tzook and Vontimitta, Varun and Ajayi, Victoria and Montanez, Victoria and Mohan, Vijai and Kumar, Vinay Satish and Mangla, Vishal and Albiero, Vítor and Ionescu, Vlad and Poenaru, Vlad and Mihailescu, Vlad Tiberiu and Ivanov, Vladimir and Li, Wei and Wang, Wenchen and Jiang, Wenwen and Bouaziz, Wes and Constable, Will and Tang, Xiaocheng and Wang, Xiaofang and Wu, Xiaojian and Wang, Xiaolan and Xia, Xide and Wu, Xilun and Gao, Xinbo and Chen, Yanjun and Hu, Ye and Jia, Ye and Qi, Ye and Li, Yenda and Zhang, Yilin and Zhang, Ying and Adi, Yossi and Nam, Youngjin and Yu and Wang and Hao, Yuchen and Qian, Yundi and He, Yuzi and Rait, Zach and DeVito, Zachary and Rosnbrick, Zef and Wen, Zhaoduo and Yang, Zhenyu and Zhao, Zhiwei}, - month = aug, - year = {2024}, - note = {arXiv:2407.21783 [cs]}, - keywords = {Computer Science - Artificial Intelligence, Computer Science - Computer Vision and Pattern Recognition, Computer Science - Computation and Language}, - file = {PDF:/Users/harsh/Zotero/storage/BQKY8VZZ/Dubey et al. - 2024 - The Llama 3 Herd of Models.pdf:application/pdf}, -} - -@article{sun_dissecting_2023, - title = {Dissecting {Tensor} {Cores} via {Microbenchmarks}: {Latency}, {Throughput} and {Numeric} {Behaviors}}, - volume = {34}, - copyright = {https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html}, - issn = {1045-9219, 1558-2183, 2161-9883}, - shorttitle = {Dissecting {Tensor} {Cores} via {Microbenchmarks}}, - url = {https://ieeexplore.ieee.org/document/9931992/}, - doi = {10.1109/TPDS.2022.3217824}, - abstract = {Tensor Cores have been an important unit to accelerate Fused Matrix Multiplication Accumulation (MMA) in all NVIDIA GPUs since Volta Architecture. To program Tensor Cores, users have to use either legacy wmma APIs or current mma APIs. Legacy wmma APIs are more easy-to-use but can only exploit limited features and power of Tensor Cores. Specifically, wmma APIs support fewer operand shapes and can not leverage the new sparse matrix multiplication feature of the newest Ampere Tensor Cores. However, the performance of current programming interface has not been well explored. Furthermore, the computation numeric behaviors of lowprecision floating points (TF32, BF16, and FP16) supported by the newest Ampere Tensor Cores are also mysterious. In this paper, we explore the throughput and latency of current programming APIs. We also intuitively study the numeric behaviors of Tensor Cores MMA and profile the intermediate operations including multiplication, addition of inner product, and accumulation. All codes used in this work can be found in https://github.com/sunlex0717/DissectingTensorCores.}, - language = {en}, - number = {1}, - urldate = {2024-09-25}, - journal = {IEEE Transactions on Parallel and Distributed Systems}, - author = {Sun, Wei and Li, Ang and Geng, Tong and Stuijk, Sander and Corporaal, Henk}, - month = jan, - year = {2023}, - pages = {246--261}, - file = {PDF:/Users/harsh/Zotero/storage/NZD3FJUB/Sun et al. - 2023 - Dissecting Tensor Cores via Microbenchmarks Latency, Throughput and Numeric Behaviors.pdf:application/pdf}, -} - -@misc{paszke_pytorch_2019, - title = {{PyTorch}: {An} {Imperative} {Style}, {High}-{Performance} {Deep} {Learning} {Library}}, - shorttitle = {{PyTorch}}, - url = {http://arxiv.org/abs/1912.01703}, - abstract = {Deep learning frameworks have often focused on either usability or speed, but not both. PyTorch is a machine learning library that shows that these two goals are in fact compatible: it provides an imperative and Pythonic programming style that supports code as a model, makes debugging easy and is consistent with other popular scientific computing libraries, while remaining efficient and supporting hardware accelerators such as GPUs.}, - language = {en}, - urldate = {2024-09-25}, - publisher = {arXiv}, - author = {Paszke, Adam and Gross, Sam and Massa, Francisco and Lerer, Adam and Bradbury, James and Chanan, Gregory and Killeen, Trevor and Lin, Zeming and Gimelshein, Natalia and Antiga, Luca and Desmaison, Alban and Köpf, Andreas and Yang, Edward and DeVito, Zach and Raison, Martin and Tejani, Alykhan and Chilamkurthy, Sasank and Steiner, Benoit and Fang, Lu and Bai, Junjie and Chintala, Soumith}, - month = dec, - year = {2019}, - note = {arXiv:1912.01703 [cs, stat]}, - keywords = {Computer Science - Machine Learning, Computer Science - Mathematical Software, Statistics - Machine Learning}, - annote = {Comment: 12 pages, 3 figures, NeurIPS 2019}, - file = {PDF:/Users/harsh/Zotero/storage/D72HUVME/Paszke et al. - 2019 - PyTorch An Imperative Style, High-Performance Deep Learning Library.pdf:application/pdf}, -} - -@misc{chetlur_cudnn_2014, - title = {{cuDNN}: {Efficient} {Primitives} for {Deep} {Learning}}, - shorttitle = {{cuDNN}}, - url = {http://arxiv.org/abs/1410.0759}, - doi = {10.48550/arXiv.1410.0759}, - abstract = {We present a library of efficient implementations of deep learning primitives. Deep learning workloads are computationally intensive, and optimizing their kernels is difficult and time-consuming. As parallel architectures evolve, kernels must be reoptimized, which makes maintaining codebases difficult over time. Similar issues have long been addressed in the HPC community by libraries such as the Basic Linear Algebra Subroutines (BLAS). However, there is no analogous library for deep learning. Without such a library, researchers implementing deep learning workloads on parallel processors must create and optimize their own implementations of the main computational kernels, and this work must be repeated as new parallel processors emerge. To address this problem, we have created a library similar in intent to BLAS, with optimized routines for deep learning workloads. Our implementation contains routines for GPUs, although similarly to the BLAS library, these routines could be implemented for other platforms. The library is easy to integrate into existing frameworks, and provides optimized performance and memory usage. For example, integrating cuDNN into Caffe, a popular framework for convolutional networks, improves performance by 36\% on a standard model while also reducing memory consumption.}, - urldate = {2024-09-25}, - publisher = {arXiv}, - author = {Chetlur, Sharan and Woolley, Cliff and Vandermersch, Philippe and Cohen, Jonathan and Tran, John and Catanzaro, Bryan and Shelhamer, Evan}, - month = dec, - year = {2014}, - note = {arXiv:1410.0759 [cs]}, - keywords = {Computer Science - Machine Learning, Computer Science - Mathematical Software, Computer Science - Neural and Evolutionary Computing}, -} - -@article{reed2022torch, - title={torch. fx: Practical program capture and transformation for deep learning in python}, - author={Reed, James and DeVito, Zachary and He, Horace and Ussery, Ansley and Ansel, Jason}, - journal={Proceedings of Machine Learning and Systems}, - volume={4}, - pages={638--651}, - year={2022} -} diff --git a/iree/turbine/kernel/wave/docs/mlsys/tkw.tex b/iree/turbine/kernel/wave/docs/mlsys/tkw.tex deleted file mode 100644 index 7035f20f..00000000 --- a/iree/turbine/kernel/wave/docs/mlsys/tkw.tex +++ /dev/null @@ -1,859 +0,0 @@ -%%%%%%%% mlsys 2024 EXAMPLE LATEX SUBMISSION FILE %%%%%%%%%%%%%%%%% - -\documentclass{article} - -% Recommended, but optional, packages for figures and better typesetting: -\usepackage{microtype} -\usepackage{graphicx} -\usepackage{subfigure} -\usepackage{booktabs} % for professional tables - -% hyperref makes hyperlinks in the resulting PDF. -% If your build breaks (sometimes temporarily if a hyperlink spans a page) -% please comment out the following usepackage line and replace -% \usepackage{mlsys2024} with \usepackage[nohyperref]{mlsys2024} above. -\usepackage{hyperref} - -% Attempt to make hyperref and algorithmic work together better: -\newcommand{\theHalgorithm}{\arabic{algorithm}} - -% Use the following line for the initial blind version submitted for review: -\usepackage{mlsys2024} - -% For code listings -\usepackage{sourcecodepro} -\usepackage[T1]{fontenc} -\usepackage{listings} -\usepackage[dvipsnames]{xcolor} -\definecolor{commentgreen}{RGB}{2,112,10} -\definecolor{eminence}{RGB}{108,48,130} -\definecolor{weborange}{RGB}{255,165,0} -\definecolor{frenchplum}{RGB}{129,20,83} -%Define Colors -\definecolor{gray}{RGB}{102,102,102} %#666666 -\definecolor{lightblue}{RGB}{0,102,153} %#006699 -\definecolor{lightgreen}{RGB}{102,153,0} %#669900 -\definecolor{bluegreen}{RGB}{51,153,126} %#33997e -\definecolor{magenta}{RGB}{217,74,122} %#d94a7a -\definecolor{orange}{RGB}{226,102,26} %#e2661a -\definecolor{purple}{RGB}{125,71,147} %#7d4793 -\definecolor{green}{RGB}{113,138,98} %#718a62 - -\usepackage{tikz} -\usetikzlibrary{positioning, fit, backgrounds} - -\usepackage[framemethod=tikz]{mdframed} -\lstdefinelanguage{Wave}{ - language=Python, - classoffset=1, - morekeywords={WorkgroupConstraint, TilingConstraint, WaveConstraint, HardwareConstraint}, - keywordstyle=\color{lightblue}, - classoffset=2, - morekeywords={Memory, Register}, - keywordstyle=\color{lightgreen}, - classoffset=3, - morekeywords={reduction, read, write, mma}, - keywordstyle=\color{magenta}, - classoffset=4, - morekeywords={@wave, @reduction}, - keywordstyle=\color{orange}, - sensitive=false, % keywords are not case-sensitive -} - -\lstset{ - language={Wave}, - basicstyle={\scriptsize\ttfamily}, - identifierstyle={\scriptsize\ttfamily}, - commentstyle={\scriptsize\itshape\ttfamily}, - keywordstyle={\scriptsize\bfseries\ttfamily}, - ndkeywordstyle={\scriptsize\ttfamily}, - stringstyle={\scriptsize\ttfamily}, - frame={tb}, - breaklines=true, - columns=[l]{fullflexible}, - xrightmargin=0em, - xleftmargin=0em, - numberstyle={\scriptsize}, - stepnumber=1, - numbersep=1em, - lineskip=-0.5ex, -} - -% If accepted, instead use the following line for the camera-ready submission: -% \usepackage[accepted]{mlsys2024} - -% The \mlsystitle you define below is probably too long as a header. -% Therefore, a short form for the running title is supplied here: -\mlsystitlerunning{Submission and Formatting Instructions for MLSys 2024} - -\begin{document} - -\twocolumn[ -\mlsystitle{Wave : A Symbolic Python DSL and Compiler for High Performance Machine Learning} - -% It is OKAY to include author information, even for blind -% submissions: the style file will automatically remove it for you -% unless you've provided the [accepted] option to the mlsys2024 -% package. - -% List of affiliations: The first argument should be a (short) -% identifier you will use later to specify author affiliations -% Academic affiliations should list Department, University, City, Region, Country -% Industry affiliations should list Company, City, Region, Country - -% You can specify symbols, otherwise they are numbered in order. -% Ideally, you should not use this facility. Affiliations will be numbered -% in order of appearance and this is the preferred way. -\mlsyssetsymbol{equal}{*} - -\begin{mlsysauthorlist} -\mlsysauthor{Aeiau Zzzz}{equal,to} -\mlsysauthor{Bauiu C.~Yyyy}{equal,to,goo} -\mlsysauthor{Cieua Vvvvv}{goo} -\mlsysauthor{Iaesut Saoeu}{ed} -\mlsysauthor{Fiuea Rrrr}{to} -\mlsysauthor{Tateu H.~Yasehe}{ed,to,goo} -\mlsysauthor{Aaoeu Iasoh}{goo} -\mlsysauthor{Buiui Eueu}{ed} -\mlsysauthor{Aeuia Zzzz}{ed} -\mlsysauthor{Bieea C.~Yyyy}{to,goo} -\mlsysauthor{Teoau Xxxx}{ed} -\mlsysauthor{Eee Pppp}{ed} -\end{mlsysauthorlist} - -\mlsysaffiliation{to}{Department of Computation, University of Torontoland, Torontoland, Canada} -\mlsysaffiliation{goo}{Googol ShallowMind, New London, Michigan, USA} -\mlsysaffiliation{ed}{School of Computation, University of Edenborrow, Edenborrow, United Kingdom} - -\mlsyscorrespondingauthor{Cieua Vvvvv}{c.vvvvv@googol.com} -\mlsyscorrespondingauthor{Eee Pppp}{ep@eden.co.uk} - -% You may provide any keywords that you -% find helpful for describing your paper; these are used to populate -% the "keywords" metadata in the PDF but will not be shown in the document -\mlsyskeywords{Machine Learning, MLSys} - -\vskip 0.3in - -\begin{abstract} -This document provides a basic paper template and submission guidelines. -Abstracts must be a single paragraph, ideally between 4--6 sentences long. -Gross violations will trigger corrections at the camera-ready phase. -\end{abstract} -] - -% this must go after the closing bracket ] following \twocolumn[ ... - -% This command actually creates the footnote in the first column -% listing the affiliations and the copyright notice. -% The command takes one argument, which is text to display at the start of the footnote. -% The \mlsysEqualContribution command is standard text for equal contribution. -% Remove it (just {}) if you do not need this facility. - -%\printAffiliationsAndNotice{} % leave blank if no need to mention equal contribution -\printAffiliationsAndNotice{\mlsysEqualContribution} % otherwise use the standard text. - -\section{Introduction} -Generative models have seen tremendous success in a wide variety of -domains ranging from image generation to natural language processing and beyond. -\cite{podell_sdxl_2023,dubey_llama_2024}. Much of this success is being -driven by graphics processing units (GPUs) which while originally -designed for graphics, are now being optimized for machine learning. -Both datacenter and consumer grade GPUs feature powerful matrix multiplication hardware units -and specialized instructions to enable high performance inference and training \cite{sun_dissecting_2023}. -\\ \\ -Given the importance of GPUs in machine learning, significant -effort has been put into developing frameworks that allow developers to -write high performance machine learning models with a low barrier to entry. Frameworks such -as Pytorch \cite{paszke_pytorch_2019} have become extremely popular -because they expose a Python based approach to programming GPUs. Prior -to the advent of these frameworks, developers had to write CUDA or OpenCL -kernels by hand which required significant expertise to achieve -good performance and did not scale well to new operators. -\\ \\ -Under the hood, these machine learning frameworks rely heavily -on vendor-specific libraries such as cuDNN \cite{chetlur_cudnn_2014} to achieve high performance. -These libraries are performant but are black boxes consisting of -hand-written kernels and often do not support the full set of -operators encountered in machine learning models. -To address these limitations, recent work has focused on developing -Python domain specific languages (DSL) that allow developers to get high performance -while reducing the kernel complexity. Triton \cite{tillet_triton_2019}. -is a popular Python DSL that exposes a workgroup level programming -model and allows developers to author high performance kernels. -In the programmability versus performance tradeoff, Triton demonstrated that it is possible to -achieve high performance while maintaining a high level of programmability. However, -Triton kernels often get quite complex as the kernel complexity grows. Most of this complexity -comes from exposing a pointer based approach to access and manipulate memory. -\\ \\ -In this paper, we introduce Wave, a Python DSL and compiler for high performance machine learning. -Wave exposes a subgroup (wave or warp) level programming model and uses constraints -to specify the distribution strategy for the kernel. This allows for a separation between -the kernel and distribution strategy and results in simpler kernels. The language -and compiler make extensive use of symbolic data types to represent tensor shapes and memory access patterns -that make it easier to reason about the kernel. We demonstrate that Wave can achieve competitive performance -with Triton and hand-tuned kernels on core machine learning operators such as matrix multiplication, -convolutions and attention. -In summary, the contributions of this paper are as follows: -\begin{itemize} - \item \textbf{Wave language} (Section \ref{section:wave_language}): A Python DSL that exposes a subgroup programming model for GPUs. The language - defines constraints that separate distribution strategies from the description of the core computation. Tensor shapes and address spaces - are represented using symbolic types (using sympy). - \item \textbf{Wave compiler} (Section \ref{section:wave_compiler}): A Python compiler that uses symbolic types - to represent memory access patterns and reason about them. The compiler uses torch.fx to trace the kernel, - then runs a series of compiler optimization passes and finally lowers the computation graph to MLIR and LLVM. - \item \textbf{Numerical Experiments} (Section \ref{section:numerical_experiments}): Numerical experiments on - matrix multiplication, convolutions and attention that demonstrate the performance of Wave kernels and show - that it is on par with existing DSLs and hand-tuned libraries. - -\end{itemize} - -\section{Wave Language} -In this section, we will go through the Wave language and its features using matrix multiplication as an example. See Listing \ref{lst:gemm} for the full code listing. - -\label{section:wave_language} -\subsection{Wave Programming Model} -Wave programs follow the single-program multiple data (SPMD) programming model where the kernel is written -at the level of execution of a single wave or warp. While waves are core to how programs are executed on -GPUs, most GPU languages do not expose them directly to the developer. CUDA, for example, allows workgroup -and thread level programming but does not expose the wave level while Triton only exposes workgroup level programming. -The advantages of the wave programming model are that it allows developers to write kernels at the same level of -abstraction as the native hardware matrix multiply accumulate (MMA) instructions which operate at the granularity of waves -giving them low-level control from a high-level abstraction. - - -\subsection{Syntax \& Semantics} -The Wave language partitions programs into two distinct regions as can be seen in Listing \ref{lst:gemm}. -The first part of the program consists of constraints which are new constructs introduced by the language. - -\subsubsection{Constraints} -Constraints are used to represent the distribution strategy of a kernel. Each constraint operates on a particular -dimension and specifies how that dimension is to be distributed. In the matrix multiplication example of Listing \ref{lst:gemm}, -the \texttt{WorkgroupConstraint} on symbolic dimension \texttt{M/N} states that the \texttt{M/N} dimension is distributed among work group dimension 0/1 -with a tile size of \texttt{BLOCK\_M/BLOCK\_N}. The \texttt{WaveConstraint} on the \texttt{M/N} dimension states that the $M/N$ dimension is then further distributed among waves -with a tile size of \texttt{BLOCK\_M / 2 / BLOCK\_N / 2}. The \texttt{TilingConstraint} on \texttt{K} specifies that the \texttt{K} dimension is tiled with a tile size of \texttt{BLOCK\_K} -in a sequential for loop. Finally, the \texttt{HardwareConstraint} specifies hardware specific parameters such as the number of threads per wave, the number of waves per block and -the canonical shape of the program. -\\ \\ -The canonical shape of the program specifies the minimum granularity of the operations in the program. In the matrix multiplication example and for programs using MMA instructions, the canonical shape is -the shape of the MMA instruction which is \texttt{M = 16, N = 16, K = 16}. For programs that do not use MMA instructions, users can -explicitly specify the canonical shape of the program in the \texttt{HardwareConstraint} by using the \texttt{vector\_shapes} keyword. For more examples of this, -see Appendix \ref{appendix:samples}. -\\ \\ -The constraints of the program serve multiple purposes. First, then separate out the distribution strategy from the kernel. -Second, they result in much simpler kernels because kernel authors do not need to keep track the offsets to different memory locations -as the compiler takes care of this. - -\subsubsection{Kernel} -The kernel is the second part of the program and consists of the core computation. It is annotated with the \texttt{@wave} decorator which -is used by the compiler to trace the kernel. In the matrix multiplication example, the inputs to the kernel are of type \texttt{Memory} which -represents a memory buffer with a symbolic shape and address space (shared memory or global memory). In the kernel, -even though the inputs are specified as type \texttt{Memory} with shape \texttt{[M, K], [N, K], [M, N]}, the actual shape of the memory -is determined by the constraints. In order to simplify the kernel, we write the kernel using the original symbolic shapes and let the compiler -determine the actual shapes of the memory buffers. - - -\begin{lstlisting}[language=Wave, frame=single, breaklines, caption={Mixed-precision $C = A \times B^{T}$ expressed in Wave.}, captionpos=b, label={lst:gemm}] -constraints = [WorkgroupConstraint(M, BLOCK_M, 0)] -constraints += [WorkgroupConstraint(N, BLOCK_N, 1)] -constraints += [TilingConstraint(K, BLOCK_K)] -constraints += [WaveConstraint(M, BLOCK_M / 2)] -constraints += [WaveConstraint(N, BLOCK_N / 2)] -constraints += [ - HardwareConstraint(threads_per_wave=64, - waves_per_block=(2, 2, 1), - mma_type=MMAType.F32_16x16x16_F16 -] - -@wave(constraints) -def gemm( - a: Memory[M, K, ADDRESS_SPACE, f16], - b: Memory[N, K, ADDRESS_SPACE, f16], - c: Memory[M, N, GLOBAL_ADDRESS_SPACE, f32], -): - c_reg = Register[M, N, f32](0.0) - - @reduction(K, init_args=[c_reg]) - def loop(acc: Register[M, N, f32]) -> Register[M, N, f32]: - a_reg = read(a, elements_per_thread=ELEMS) - b_reg = read(b, elements_per_thread=ELEMS) - acc = mma(a_reg, b_reg, acc) - return acc - - write(loop, c, elements_per_thread=ELEMS) -\end{lstlisting} - -\section{Wave Compiler} -\label{section:wave_compiler} -The Wave compiler is a Python-based compiler designed to process and optimize kernels written in the Wave language. It leverages symbolic types to represent memory access patterns and perform reasoning about them. The compilation process involves several key steps: - -\begin{tikzpicture}[node distance=0.5cm, auto] - % Define styles - \tikzstyle{block} = [rectangle, draw, fill=blue!20, - text width=5em, text centered, rounded corners, minimum height=3em] - \tikzstyle{mlir} = [rectangle, draw, fill=gray!20, - text width=20em, text centered, minimum height=7em] - \tikzstyle{wave_compiler} = [rectangle, draw, fill=gray!20, - text width=20em, text centered, minimum height=19em] - \tikzstyle{dialect} = [rectangle, draw, fill=yellow!20, - text width=5em, text centered, rounded corners, minimum height=2em] - \tikzstyle{line} = [draw, ->] - - % Place nodes - - \node [text width=10em, text centered] (wave) {Wave Kernel}; - - \node [wave_compiler, below=of wave] (wave_compiler) {}; - \node [anchor=north west, inner sep=0.5em] at (wave_compiler.north west) {Wave Compiler}; - - \node [block, below=1cm of wave] (tracing) {Tracing (torch.fx)}; - \node [block, below=of tracing] (symbolic) {Symbolic Analysis}; - \node [block, below=of symbolic] (optimization) {Optimization Passes}; - \node [block, below=of optimization] (mlir_codegen) {MLIR Codegen}; - - % MLIR box with dialects - \node [mlir, below=of mlir_codegen] (mlir) {}; - \node [anchor=north west, inner sep=0.5em] at (mlir.north west) {MLIR}; - \node [dialect, left=3em of mlir.center] (dialect1) {amdgpu Dialect}; - \node [dialect, at=(mlir.center)] (gpu_dialect) {GPU Dialect}; - \node [dialect, right=3em of mlir.center] (llvm_dialect) {LLVM Dialect}; - \node [block, below=of mlir] (llvm) {LLVM IR}; - - % Draw edges - \path [line] (wave) -- (tracing); - \path [line] (tracing) -- (symbolic); - \path [line] (symbolic) -- (optimization); - \path [line] (optimization) -- (mlir_codegen); - \path [line] (mlir_codegen) -- (dialect1); - \path [line] (mlir_codegen) -- (gpu_dialect); - \path [line] (mlir_codegen) -- (llvm_dialect); - - \path [line] (mlir) -- (llvm); - - % Add a note about constraints - \node [text width=5em, text centered, below right=-0.25cm and 0.5cm of symbolic] (constraints) {Constraint Processing}; - \draw [dashed, ->] (constraints) -- (symbolic); - \draw [dashed, ->] (constraints) -- (optimization); -\end{tikzpicture} - -\subsection{Tracing with torch.fx} - -The Wave compiler utilizes torch.fx~\cite{reed2022torch} for symbolic tracing of the kernel. This process involves executing the Python kernel program with special \emph{Proxy} objects that act as placeholders for actual values. As the program runs, torch.fx records all definitions and function calls, effectively capturing the computational structure of the kernel. The result is a comprehensive representation of the kernel's logic in the form of the torch.fx graph IR. By leveraging torch.fx, Wave strikes a balance between the flexibility of a Python-embedded DSL and the power of a custom compiler, allowing for specialized optimizations while maintaining an accessible and extensible programming model. - -\subsection{Intermediate Representation} -We extended the torch.fx intermediate representation (IR) with custom primitives and types to accurately model the Wave programming model. Our enhancements include custom primitives representing Wave-specific constructs such as wave-level operations and memory accesses. - -\section{Numerical Experiments} -\label{section:numerical_experiments} - -\section{Related Work} -\label{section:related_work} - -\section{Conclusions \& Future Work} -\label{section:conclusions} - -\section{Acknowledgements} -\label{section:acknowledgements} - -\section{Appendix: Sample Wave Programs} -\label{section:samples} - - -\iffalse -It has a Python based compiler that uses torch.fx tracing to define -and trace operators written in the language. The torch.fx graphs are then run through a series of optimization passes -on the computation graph and are finally lowered to MLIR and subsequently LLVM. This code generation flow allows compiler writers -to blend high productivity in Python with high performance from the MLIR and LLVM -code generation flow. -\\ \\ - - -\section{Memory Access Patterns} -We represent memory access patterns in the language using the standard -triplet notation consisting of an offset, number of elements, and absolute stride and associate -a triplet with each tensor dimension. The memory access pattern for a given operation -is determined by the access patterns of the operands of the operation as well as -the user-specified constraints. For example, the memory access pattern for the output -of an elementwise operation is determined from the access patterns of the inputs, -whereas for a matrix-multiply accumulate operation, the memory access patterns of the operands are specified by -the hardware constraint. -\\ \\ -One of the advantages of the dimension based specification is that it obviates -the need for any propagation of memory access patterns through the computation graph, -as is commonly done in other frameworks. When setting the access pattern for a specific -dimension of a tensor, the access pattern is taken to be the union of all possible -access patterns with the determination of which access pattern to use based on -the minimization of an appropriate metric across the entire graph (see Section 3). - -\fi - -\newpage - -\iffalse -\section{Electronic Submission} -\label{submission} - -Submission to MLSys 2024 will be entirely electronic, via a web site -(not email). Information about the submission process and \LaTeX\ templates -are available on the conference web site at: -\begin{center} -\textbf{\texttt{https://www.mlsys.org/}} -\end{center} - -The guidelines below will be enforced for initial submissions and -camera-ready copies. Here is a brief summary: -\begin{itemize} -\item Submissions must be in PDF\@. -\item The maximum paper length is \textbf{10 pages} excluding references and appendices. - (pages 11 and on must contain only references). -\item \textbf{Do not include author information or acknowledgements} in your - initial submission. -\item Your paper should be in \textbf{10 point Times font}. -\item Make sure your PDF file only uses Type-1 fonts. -\item Place figure captions \emph{under} the figure (and omit titles from inside - the graphic file itself). Place table captions \emph{over} the table. -\item References must include page numbers whenever possible and be as complete - as possible. Place multiple citations in chronological order. -\item Do not alter the style template; in particular, do not compress the paper - format by reducing the vertical spaces. -\item Keep your abstract brief and self-contained, one paragraph and roughly - 4--6 sentences. Gross violations will require correction at the - camera-ready phase. The title should have content words capitalized. -\item Submissions that significantly diverge from the specified format - will be rejected without review. -\end{itemize} - -\subsection{Submitting Papers} - -\textbf{Paper Deadline:} The deadline for paper submission that is -advertised on the conference website is strict. If your full, -anonymized, submission does not reach us on time, it will not be -considered for publication. There is no separate abstract submission. - -\textbf{Anonymous Submission:} MLSys uses double-blind review: no identifying -author information may appear on the title page or in the paper -itself. Section~\ref{author info} gives further details. - -\textbf{Simultaneous Submission:} MLSys will not accept any paper which, -at the time of submission, is under review for another conference or -has already been published. This policy also applies to papers that -overlap substantially in technical content with conference papers -under review or previously published. MLSys submissions must not be -submitted to other conferences during MLSys's review period. Authors -may submit to MLSys substantially different versions of journal papers -that are currently under review by the journal, but not yet accepted -at the time of submission. Informal publications, such as technical -reports or papers in workshop proceedings which do not appear in -print, do not fall under these restrictions. - -\medskip - -Authors must provide their manuscripts in \textbf{PDF} format. -Furthermore, please make sure that files contain only embedded Type-1 fonts -(e.g.,~using the program \texttt{pdffonts} in linux or using -File/DocumentProperties/Fonts in Acrobat). Other fonts (like Type-3) -might come from graphics files imported into the document. - -Authors using \textbf{Word} must convert their document to PDF\@. Most -of the latest versions of Word have the facility to do this -automatically. Submissions will not be accepted in Word format or any -format other than PDF\@. - -Those who use \textbf{\LaTeX} should avoid including Type-3 fonts. -Those using \texttt{latex} and \texttt{dvips} may need the following -two commands: - -{\footnotesize -\begin{verbatim} -dvips -Ppdf -tletter -G0 -o paper.ps paper.dvi -ps2pdf paper.ps -\end{verbatim}} -It is a zero following the ``-G'', which tells dvips to use -the config.pdf file. Newer \TeX\ distributions don't always need this -option. - -Using \texttt{pdflatex} rather than \texttt{latex}, often gives better -results. This program avoids the Type-3 font problem, and supports more -advanced features in the \texttt{microtype} package. - -\textbf{Graphics files} should be a reasonable size, and included from -an appropriate format. Use vector formats (.eps/.pdf) for plots, -lossless bitmap formats (.png) for raster graphics with sharp lines, and -jpeg for photo-like images. - -The style file uses the \texttt{hyperref} package to make clickable -links in documents. If this causes problems for you, add -\texttt{nohyperref} as one of the options to the \texttt{mlsys2024} -usepackage statement. - - -\subsection{Submitting Final Camera-Ready Copy} - -The final versions of papers accepted for publication should follow the -same format and naming convention as initial submissions, except that -author information (names and affiliations) should be given. See -Section~\ref{final author} for formatting instructions. - -The footnote, ``Preliminary work. Under review by the MLSys. Do not distribute.'' -must be modified to ``\textit{Proceedings of the -$\mathit{5}^{th}$ MLSys Conference}, -Santa Clara, CA, USA, 2024. -Copyright 2024 by the author(s).'' - -For those using the \textbf{\LaTeX} style file, this change (and others) is -handled automatically by simply changing -$\mathtt{\backslash usepackage\{mlsys2024\}}$ to -$$\mathtt{\backslash usepackage[accepted]\{mlsys2024\}}$$ -Authors using \textbf{Word} must edit the -footnote on the first page of the document themselves. - -Camera-ready copies should have the title of the paper as running head -on each page except the first one. The running title consists of a -single line centered above a horizontal rule which is $1$~point thick. -The running head should be centered, bold and in $9$~point type. The -rule should be $10$~points above the main text. For those using the -\textbf{\LaTeX} style file, the original title is automatically set as running -head using the \texttt{fancyhdr} package which is included in the MLSys -2024 style file package. In case that the original title exceeds the -size restrictions, a shorter form can be supplied by using - -\verb|\mlsystitlerunning{...}| - -just before $\mathtt{\backslash begin\{document\}}$. -Authors using \textbf{Word} must edit the header of the document themselves. - -\section{Format of the Paper} - -All submissions must follow the specified format. - -\subsection{Length and Dimensions} - -Papers must not exceed ten (10) pages, including all figures, tables, -but excluding acknowledgements, references and appendices. -Acknowledgements should be limited to grants and people who contributed to the paper. -Any submission that exceeds -this page limit, or that diverges significantly from the specified format, -will be rejected without review. - -The text of the paper should be formatted in two columns, with an -overall width of 6.75~inches, height of 9.0~inches, and 0.25~inches -between the columns. The left margin should be 0.75~inches and the top -margin 1.0~inch (2.54~cm). The right and bottom margins will depend on -whether you print on US letter or A4 paper, but all final versions -must be produced for US letter size. - -The paper body should be set in 10~point type with a vertical spacing -of 11~points. Please use Times typeface throughout the text. - -\subsection{Title} - -The paper title should be set in 14~point bold type and centered -between two horizontal rules that are 1~point thick, with 1.0~inch -between the top rule and the top edge of the page. Capitalize the -first letter of content words and put the rest of the title in lower -case. - -\subsection{Author Information for Submission} -\label{author info} - -MLSys uses double-blind review, so author information must not appear. If -you are using \LaTeX\/ and the \texttt{mlsys2024.sty} file, use -\verb+\mlsysauthor{...}+ to specify authors and \verb+\mlsysaffiliation{...}+ to specify affiliations. (Read the TeX code used to produce this document for an example usage.) The author information -will not be printed unless \texttt{accepted} is passed as an argument to the -style file. -Submissions that include the author information will not -be reviewed. - -\subsubsection{Self-Citations} - -If you are citing published papers for which you are an author, refer -to yourself in the third person. In particular, do not use phrases -that reveal your identity (e.g., ``in previous work \cite{langley00}, we -have shown \ldots''). - -Do not anonymize citations in the reference section. The only exception are manuscripts that are -not yet published (e.g., under submission). If you choose to refer to -such unpublished manuscripts \cite{anonymous}, anonymized copies have -to be submitted -as Supplementary Material via CMT\@. However, keep in mind that an MLSys -paper should be self contained and should contain sufficient detail -for the reviewers to evaluate the work. In particular, reviewers are -not required to look at the Supplementary Material when writing their -review. - -\subsubsection{Camera-Ready Author Information} -\label{final author} - -If a paper is accepted, a final camera-ready copy must be prepared. -% -For camera-ready papers, author information should start 0.3~inches below the -bottom rule surrounding the title. The authors' names should appear in 10~point -bold type, in a row, separated by white space, and centered. Author names should -not be broken across lines. Unbolded superscripted numbers, starting 1, should -be used to refer to affiliations. - -Affiliations should be numbered in the order of appearance. A single footnote -block of text should be used to list all the affiliations. - -Each distinct affiliations should be listed once. If an author has multiple -affiliations, multiple superscripts should be placed after the name, separated -by thin spaces. If the authors would like to highlight equal contribution by -multiple first authors, those authors should have an asterisk placed after their -name in superscript, and the term ``\textsuperscript{*}Equal contribution" -should be placed in the footnote block ahead of the list of affiliations. A -list of corresponding authors and their emails (in the format Full Name -\textless{}email@domain.com\textgreater{}) can follow the list of affiliations. -Ideally only one or two names should be listed. - -A sample file with author names is included in the mlsys2024 style file -package. Turn on the \texttt{[accepted]} option to the stylefile to -see the names rendered. All of the guidelines above are implemented -by the \LaTeX\ style file. - -\subsection{Abstract} - -The paper abstract should begin in the left column, 0.4~inches below the final -address. The heading `Abstract' should be centered, bold, and in 11~point type. -The abstract body should use 10~point type, with a vertical spacing of -11~points, and should be indented 0.25~inches more than normal on left-hand and -right-hand margins. Insert 0.4~inches of blank space after the body. Keep your -abstract brief and self-contained, limiting it to one paragraph and roughly 4--6 -sentences. Gross violations will require correction at the camera-ready phase. - -\subsection{Partitioning the Text} - -You should organize your paper into sections and paragraphs to help -readers place a structure on the material and understand its -contributions. - -\subsubsection{Sections and Subsections} - -Section headings should be numbered, flush left, and set in 11~pt bold -type with the content words capitalized. Leave 0.25~inches of space -before the heading and 0.15~inches after the heading. - -Similarly, subsection headings should be numbered, flush left, and set -in 10~pt bold type with the content words capitalized. Leave -0.2~inches of space before the heading and 0.13~inches afterward. - -Finally, subsubsection headings should be numbered, flush left, and -set in 10~pt small caps with the content words capitalized. Leave -0.18~inches of space before the heading and 0.1~inches after the -heading. - -Please use no more than three levels of headings. - -\subsubsection{Paragraphs and Footnotes} - -Within each section or subsection, you should further partition the -paper into paragraphs. Do not indent the first line of a given -paragraph, but insert a blank line between succeeding ones. - -You can use footnotes\footnote{Footnotes -should be complete sentences.} to provide readers with additional -information about a topic without interrupting the flow of the paper. -Indicate footnotes with a number in the text where the point is most -relevant. Place the footnote in 9~point type at the bottom of the -column in which it appears. Precede the first footnote in a column -with a horizontal rule of 0.8~inches.\footnote{Multiple footnotes can -appear in each column, in the same order as they appear in the text, -but spread them across columns and pages if possible.} - -\subsection{Figures} - -You may want to include figures in the paper to illustrate -your approach and results. Such artwork should be centered, -legible, and separated from the text. Lines should be dark and at -least 0.5~points thick for purposes of reproduction, and text should -not appear on a gray background. - -Label all distinct components of each figure. If the figure takes the -form of a graph, then give a name for each axis and include a legend -that briefly describes each curve. Do not include a title inside the -figure; instead, the caption should serve this function. - -Number figures sequentially, placing the figure number and caption -\emph{after} the graphics, with at least 0.1~inches of space before -the caption and 0.1~inches after it. The figure caption should be set in -9~point type and centered unless it runs two or more lines, in which -case it should be flush left. You may float figures to the top or -bottom of a column, and you may set wide figures across both columns -(use the environment \texttt{figure*} in \LaTeX). Always place -two-column figures at the top or bottom of the page. - -\subsection{Algorithms} - -If you are using \LaTeX, please use the ``algorithm'' and ``algorithmic'' -environments to format pseudocode. These require -the corresponding stylefiles, algorithm.sty and -algorithmic.sty, which are supplied with this package. -Algorithm~\ref{alg:example} shows an example. - -\begin{algorithm}[tb] - \caption{Bubble Sort} - \label{alg:example} -\begin{algorithmic} - \STATE {\bfseries Input:} data $x_i$, size $m$ - \REPEAT - \STATE Initialize $noChange = true$. - \FOR{$i=1$ {\bfseries to} $m-1$} - \IF{$x_i > x_{i+1}$} - \STATE Swap $x_i$ and $x_{i+1}$ - \STATE $noChange = false$ - \ENDIF - \ENDFOR - \UNTIL{$noChange$ is $true$} -\end{algorithmic} -\end{algorithm} - -\subsection{Tables} - -You may also want to include tables that summarize material. Like -figures, these should be centered, legible, and numbered consecutively. -However, place the title \emph{above} the table with at least -0.1~inches of space before the title and the same after it, as in -Table~\ref{sample-table}. The table title should be set in 9~point -type and centered unless it runs two or more lines, in which case it -should be flush left. - -% Note use of \abovespace and \belowspace to get reasonable spacing -% above and below tabular lines. - -\begin{table}[t] -\caption{Classification accuracies for naive Bayes and flexible -Bayes on various data sets.} -\label{sample-table} -\vskip 0.15in -\begin{center} -\begin{small} -\begin{sc} -\begin{tabular}{lcccr} -\toprule -Data set & Naive & Flexible & Better? \\ -\midrule -Breast & 95.9$\pm$ 0.2& 96.7$\pm$ 0.2& $\surd$ \\ -Cleveland & 83.3$\pm$ 0.6& 80.0$\pm$ 0.6& $\times$\\ -Glass2 & 61.9$\pm$ 1.4& 83.8$\pm$ 0.7& $\surd$ \\ -Credit & 74.8$\pm$ 0.5& 78.3$\pm$ 0.6& \\ -Horse & 73.3$\pm$ 0.9& 69.7$\pm$ 1.0& $\times$\\ -Meta & 67.1$\pm$ 0.6& 76.5$\pm$ 0.5& $\surd$ \\ -Pima & 75.1$\pm$ 0.6& 73.9$\pm$ 0.5& \\ -Vehicle & 44.9$\pm$ 0.6& 61.5$\pm$ 0.4& $\surd$ \\ -\bottomrule -\end{tabular} -\end{sc} -\end{small} -\end{center} -\vskip -0.1in -\end{table} - -Tables contain textual material, whereas figures contain graphical material. -Specify the contents of each row and column in the table's topmost -row. Again, you may float tables to a column's top or bottom, and set -wide tables across both columns. Place two-column tables at the -top or bottom of the page. - -\subsection{Citations and References} - -Please use APA reference format regardless of your formatter -or word processor. If you rely on the \LaTeX\/ bibliographic -facility, use \texttt{natbib.sty} and \texttt{mlsys2024.bst} -included in the style-file package to obtain this format. - -Citations within the text should include the authors' last names and -year. If the authors' names are included in the sentence, place only -the year in parentheses, for example when referencing Arthur Samuel's -pioneering work \yrcite{Samuel59}. Otherwise place the entire -reference in parentheses with the authors and year separated by a -comma \cite{Samuel59}. List multiple references separated by -semicolons \cite{kearns89,Samuel59,mitchell80}. Use the `et~al.' -construct only for citations with three or more authors or after -listing all authors to a publication in an earlier reference \cite{MachineLearningI}. - -Authors should cite their own work in the third person -in the initial version of their paper submitted for blind review. -Please refer to Section~\ref{author info} for detailed instructions on how to -cite your own papers. - -Use an unnumbered first-level section heading for the references, and use a -hanging indent style, with the first line of the reference flush against the -left margin and subsequent lines indented by 10 points. The references at the -end of this document give examples for journal articles \cite{Samuel59}, -conference publications \cite{langley00}, book chapters \cite{Newell81}, books -\cite{DudaHart2nd}, edited volumes \cite{MachineLearningI}, technical reports -\cite{mitchell80}, and dissertations \cite{kearns89}. - -Alphabetize references by the surnames of the first authors, with -single author entries preceding multiple author entries. Order -references for the same authors by year of publication, with the -earliest first. Make sure that each reference includes all relevant -information (e.g., page numbers). - -Please put some effort into making references complete, presentable, and -consistent. If using bibtex, please protect capital letters of names and -abbreviations in titles, for example, use \{B\}ayesian or \{L\}ipschitz -in your .bib file. - -\subsection{Software and Data} - -We strongly encourage the publication of software and data with the -camera-ready version of the paper whenever appropriate. This can be -done by including a URL in the camera-ready copy. However, do not -include URLs that reveal your institution or identity in your -submission for review. Instead, provide an anonymous URL or upload -the material as ``Supplementary Material'' into the CMT reviewing -system. Note that reviewers are not required to look at this material -when writing their review. - -% Acknowledgements should only appear in the accepted version. -\section*{Acknowledgements} - -\textbf{Do not} include acknowledgements in the initial version of -the paper submitted for blind review. - -If a paper is accepted, the final camera-ready version can (and -probably should) include acknowledgements. In this case, please -place such acknowledgements in an unnumbered section at the -end of the paper. Typically, this will include thanks to reviewers -who gave useful comments, to colleagues who contributed to the ideas, -and to funding agencies and corporate sponsors that provided financial -support. - - -% In the unusual situation where you want a paper to appear in the -% references without citing it in the main text, use \nocite -\nocite{langley00} -\fi - -\bibliography{tkw} -\bibliographystyle{mlsys2024} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% SUPPLEMENTAL CONTENT AS APPENDIX AFTER REFERENCES -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\appendix -\section{Please add supplemental material as appendix here} -% -Put anything that you might normally include after the references as an appendix here, {\it not in a separate supplementary file}. Upload your final camera-ready as a single pdf, including all appendices. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -\end{document} - - -% This document was modified from the file originally made available by -% Pat Langley and Andrea Danyluk for ICML-2K. This version was created -% by Iain Murray in 2018. It was modified from a version from Dan Roy in -% 2017, which was based on a version from Lise Getoor and Tobias -% Scheffer, which was slightly modified from the 2010 version by -% Thorsten Joachims & Johannes Fuernkranz, slightly modified from the -% 2009 version by Kiri Wagstaff and Sam Roweis's 2008 version, which is -% slightly modified from Prasad Tadepalli's 2007 version which is a -% lightly changed version of the previous year's version by Andrew -% Moore, which was in turn edited from those of Kristian Kersting and -% Codrina Lauth. Alex Smola contributed to the algorithmic style files.