<commit_before>\documentclass[11pt]{article}

\begin{document}
\title{HECURA Project Roadmap}
\author{<NAME>}
\maketitle
\tableofcontents


\section{Possible Directions for Future Papers}
\label{future}
\begin{itemize}

\item Change the focus to algorithms and submit to a more algorithms
    centric conference.  Is our multigrid training technique novel?

\item Port to a ``novel'' architecture (graphics cards, cell, etc)
    and argue that our algorithmic adaptivity allows for truly portable
    applications.

\item Implement the robustness ideas from the proposal. Automatic handling
    for lost data, NaN, etc.

\item Implement the optimization language ideas from the paper.
    Separation of algorithm and optimization.

\end{itemize}

\section{High Level Goals}
\begin{itemize}

\item Polish the language so it is more usable and can be released to
the public.

\item Get the performance to be competitive with hand coded solutions.

\item Consider future initiatives described in Section~\ref{future}.

\item Improve/expand suite of algorithms.

\end{itemize}

\section{Task List}

\subsection{New Language Features}
\begin{itemize}

\item Automatic insertion and handling of SPAWN and SYNC

\item ``Templates'' to make training dependant on an input parameter.

\item Language support for temporary buffers.

\item Language support for aliasing inputs and outputs.

\item Support for optional parameters

\item Scalar values visible without explicit dependencies.

\item Support for where keyword.

\item Support for tunable keyword.

\item Automatic correctness checking

\end{itemize}

\subsection{Algorithms}
\begin{itemize}

\item TODO - Cy/Yee Lok: Can you fill this in?

\item Qin suggested adding Convolution

\end{itemize}

\subsection{Performance Related}
\begin{itemize}

\item Generate two versions of output code:  one task based (what we have
    currently) and one sequential. Switch to sequential at leaves to
    eliminate most scheduling overhead.
  
\item Write a more advanced scheduler to improve scalability.

\item Add {\tt \_\_inline} to output code.

\item Perform automatic blocking of user rules.

\item Automatic transpose.

\item Check to make sure matrix accessors are optimized correctly.

\item Profiling and other performance hacking.

\end{itemize}

\subsection{Autotuner Related}
\begin{itemize}

\item Finish implementing the static choices mode.

\item Add an external wrapper around the autotuner to make it fully automatic.

\item Remember optimal values found along the way store result in a table.

\item Use dependency graphs to get the correct ordering for the autotuner.

\item Explore better/faster algorithms.

\item Write some testing scripts to exercise and compare different tuning techniques.

\end{itemize}

\subsection{Bug Fixes}
\begin{itemize}

\item Call MatrixRegion::slice on for entire versions.

\item Fix support for multiple output regions of different size.

\item Fix compiler warnings about failed comparisons.

\item Strip \#line tags from input \%\{...\}\% regions.

\item Fix the pesky applicable region bug.

\item Better error messages and rule naming in output code

\end{itemize}

\end{document}


<commit_msg>	modified:   doc/roadmap/roadmap.tex<commit_after>\documentclass[11pt]{article}

\begin{document}
\title{HECURA Project Roadmap}
\author{<NAME>}
\maketitle
\tableofcontents


\section{Possible Directions for Future Papers}
\label{future}
\begin{itemize}

\item Change the focus to algorithms and submit to a more algorithms
    centric conference.  Is our multigrid training technique novel?

\item Port to a ``novel'' architecture (graphics cards, cell, etc)
    and argue that our algorithmic adaptivity allows for truly portable
    applications.

\item Implement the robustness ideas from the proposal. Automatic handling
    for lost data, NaN, etc.

\item Implement the optimization language ideas from the paper.
    Separation of algorithm and optimization.

\end{itemize}

\section{High Level Goals}
\begin{itemize}

\item Polish the language so it is more usable and can be released to
the public.

\item Get the performance to be competitive with hand coded solutions.

\item Consider future initiatives described in Section~\ref{future}.

\item Improve/expand suite of algorithms.

\end{itemize}

\section{Task List}

\subsection{New Language Features}
\begin{itemize}

\item Automatic insertion and handling of SPAWN and SYNC

\item ``Templates'' to make training dependant on an input parameter.

\item Language support for temporary buffers.

\item Language support for aliasing inputs and outputs.

\item Support for optional parameters

\item Scalar values visible without explicit dependencies.

\item Support for where keyword.

\item Support for tunable keyword.

\item Automatic correctness checking

\item ``or'' keyword

\end{itemize}

\subsection{Algorithms}
\begin{itemize}

\item TODO - Cy/Yee Lok: Can you fill this in?

\item Qin suggested adding Convolution

\end{itemize}

\subsection{Performance Related}
\begin{itemize}

\item Generate two versions of output code:  one task based (what we have
    currently) and one sequential. Switch to sequential at leaves to
    eliminate most scheduling overhead.
  
\item Write a more advanced scheduler to improve scalability.

\item Add {\tt \_\_inline} to output code.

\item Perform automatic blocking of user rules.

\item Automatic transpose.

\item Check to make sure matrix accessors are optimized correctly.

\item Profiling and other performance hacking.

\end{itemize}

\subsection{Autotuner Related}
\begin{itemize}

\item Finish implementing the static choices mode.

\item Add an external wrapper around the autotuner to make it fully automatic.

\item Remember optimal values found along the way store result in a table.

\item Use dependency graphs to get the correct ordering for the autotuner.

\item Explore better/faster algorithms.

\item Write some testing scripts to exercise and compare different tuning techniques.

\end{itemize}

\subsection{Bug Fixes}
\begin{itemize}

\item Call MatrixRegion::slice on for entire versions.

\item Fix support for multiple output regions of different size.

\item Fix compiler warnings about failed comparisons.

\item Strip \#line tags from input \%\{...\}\% regions.

\item Fix the pesky applicable region bug.

\item Better error messages and rule naming in output code

\end{itemize}

\end{document}



{'fraction_non_alphanumeric': 0.06793098087983833, 'fraction_numerical': 0.000621793875330328, 'mean_word_length': 4.1761866452131935, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7284162', 'n_tokens_mistral': 1757, 'n_tokens_neox': 1733, 'n_words': 813}