\item Not too simple, (don’t support just matrix).
\item Not too simple, (don’t support just matrix).
\item Support all dtype.
\item Allow strided views.
\item But still easy to develop new code that support only a few memory layout.
\item But still easy to develop new code that support only a few memory layout.
\begin{itemize}
\begin{itemize}
\item This ease the development of new code.
\item This ease the development of new code.
...
@@ -338,15 +340,21 @@ print f([0, 1, 2])
...
@@ -338,15 +340,21 @@ print f([0, 1, 2])
\end{frame}
\end{frame}
\section{sharing}
\section{sharing}
\begin{frame}{How can we do it?}
\begin{frame}{Simplifing code sharing}
\begin{enumerate}
\item<1-> License: \begin{bf}Suggest BSD\end{bf} as it is used by many software in our field.
\begin{itemize}
\item Common license help share code.
\item When reusing code, don't forget to keep the license and the copyright notice
\end{itemize}
\item<2-> Common base object! \begin{bf}libgpuarray\end{bf}
\item<3-> Otherwise: put important implementation(e.g convolution) in \begin{bf}separate file\end{bf} and \begin{bf}use raw ptr/shape/strides\end{bf} as inputs. Document that interface.
\item<4-> Acknowledge reuse \begin{bf}in section on web site\end{bf} AND \begin{bf}in papers\end{bf} about the software we reuse! (and use too)
\end{enumerate}
\only<1>{License: Suggest BSD as it is used by many software in our field.}
\end{frame}
\only<1>{Common license help share code.}
\only<1>{Don't forget to copy the copyright notice when you copy code.}
\only<2>{Common base object! \begin{bf}libgpuarray\end{bf}}
\only<3>{Otherwise: put important implementation(e.g convolution) in separate file and use raw ptr/shape/strides as inputs? Doc that interface.}
\only<4>{acknowled reuse \begin{bf}in section on web site\end{bf} AND \begin{bf}in paper\end{bf} about the software we reuse! (and use too)}
\begin{frame}{Theano/PyLearn2 Future}
\end{frame}
\end{frame}
\begin{frame}{OLD STUFF Why do we need this?}
\begin{frame}{OLD STUFF Why do we need this?}
...
@@ -356,17 +364,6 @@ print f([0, 1, 2])
...
@@ -356,17 +364,6 @@ print f([0, 1, 2])
\end{itemize}
\end{itemize}
\end{frame}
\end{frame}
\begin{frame}{Why a new implementation?}
\begin{block}{There are already a number of existing GPU computing codebases:}