Doc: Use overlays for some item lists
authorReto Buerki <reet@codelabs.ch>
Sun, 15 Jan 2012 16:50:00 +0000 (17:50 +0100)
committerReto Buerki <reet@codelabs.ch>
Sun, 15 Jan 2012 16:52:36 +0000 (17:52 +0100)
doc/presentation.lyx

index 6a7c06a10cfab9a046d6bc3cf4e9ea0b71a88b45..5cd9a51694ee5a956c782117cc3b5b86165e703d 100644 (file)
@@ -317,30 +317,100 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Structured, strongly typed programming language
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 Initiated by the US Department of Defense (DoD)
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 First standardized high-level programming language
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 Emphasizes safety and security
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<5->
+\end_layout
+
+\end_inset
+
 Supports all modern programming paradigms
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<6->
+\end_layout
+
+\end_inset
+
 Current language standard is Ada 2005, next release 2012
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<7->
+\end_layout
+
+\end_inset
+
 Mostly used in aviation, railway systems, banking, military and space technology
 \end_layout
 
@@ -380,22 +450,72 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Free-software compiler for Ada
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 Part of the GNU Compiler Collection (GCC)
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 Supports all versions of Ada (83, 95, 2005)
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 Available on most operating systems
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<5->
+\end_layout
+
+\end_inset
+
 100% compliant with Ada Conformity Assessment Test Suite (ACATS)
 \end_layout
 
@@ -439,18 +559,58 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 CUDA wrappers exist for many languages but not for Ada
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 Make CUDA accessible for Ada developers
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 Benefit from the advantages and processing power of a GPU in Ada applications
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 Curiosity
 \end_layout
 
@@ -516,20 +676,60 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Used to access functionality which is written in another programming language
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 Pragmas are directives which control the compiler
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 General form: 
 \family typewriter
 pragma Name (Parameter_List);
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 Predefined packages that make it easier to interface with C
 \end_layout
 
@@ -995,34 +1195,114 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Seamless access to CUDA from Ada
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 High abstraction
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 Auto-initialization
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 JIT-Compilation of CUDA kernels
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<5->
+\end_layout
+
+\end_inset
+
 Convenient argument handling
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<6->
+\end_layout
+
+\end_inset
+
 Error-handling using Ada Exceptions
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<7->
+\end_layout
+
+\end_inset
+
 Speed
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<8->
+\end_layout
+
+\end_inset
+
 Automatically generated Thin-Binding
 \end_layout
 
@@ -1117,6 +1397,20 @@ cuda_runtime.h
 Support for i686 and x86_64
 \end_layout
 
+\begin_deeper
+\begin_layout Itemize
+e.g.
+ CUdeviceptr:
+\family typewriter
+unsigned
+\family default
+ vs.
+
+\family typewriter
+unsigned_long_long
+\end_layout
+
+\end_deeper
 \end_deeper
 \begin_layout Standard
 \begin_inset ERT
@@ -1820,22 +2114,72 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Take care of device memory handling (allocation / freeing)
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 Copy data from host to device and from device back to host
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 Completely transparent to users of CUDA/Ada
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 Implemented using Ada generics
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<5->
+\end_layout
+
+\end_inset
+
 Three different argument types: 
 \end_layout
 
@@ -1860,6 +2204,16 @@ InOut
 
 \end_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<6->
+\end_layout
+
+\end_inset
+
 Similar to Ada's formal parameter modes (in, out, in out)
 \end_layout
 
@@ -2543,10 +2897,30 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Cumulated runtime of 20 matrix multiplications (512 x 512)
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 Comparison of different implementations:
 \end_layout
 
@@ -2569,6 +2943,16 @@ CUDA/Ada
 
 \end_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 Same grid and block size for all CUDA implementations
 \end_layout
 
@@ -2809,11 +3193,31 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Native Ada (CPU) is slow: CPU vs.
  GPU/CUDA
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 CUDA/Ada is faster than CUDA Runtime API:
 \end_layout
 
@@ -2828,10 +3232,30 @@ CUDA/Ada performs bare minimum of management operations
 
 \end_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 CUDA/Ada is negligibly slower than CUDA Driver API
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 No visible performance penalty
 \end_layout
 
@@ -2875,14 +3299,44 @@ status collapsed
 
 \begin_deeper
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<1->
+\end_layout
+
+\end_inset
+
 Thick-Binding provides easy usage of CUDA from Ada
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<2->
+\end_layout
+
+\end_inset
+
 High level abstractions go well with other Ada language constructs
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<3->
+\end_layout
+
+\end_inset
+
 Simple Autoinitialization of CUDA via 
 \family typewriter
 Autoinit
@@ -2891,19 +3345,59 @@ Autoinit
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<4->
+\end_layout
+
+\end_inset
+
 JIT compilation of kernels provides flexibilty and agility
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<5->
+\end_layout
+
+\end_inset
+
 Speed of CUDA/Ada is excellent
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<6->
+\end_layout
+
+\end_inset
+
 Automated Thin-Binding generation allows for easy integration of future
  CUDA API changes
 \end_layout
 
 \begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Plain Layout
+
+<7->
+\end_layout
+
+\end_inset
+
 Paper documents how to write a modern, maintainable language binding for
  Ada in general
 \end_layout