On most powerful GPU cards, called Fermi, multiprocessors are called streaming
multiprocessors (SM). Each SM contains 32 cores and is able to perform 32
floating point or integer operations on 32bits numbers per clock or 16 floating
-point on 64bits number per clock. SM have their own registers, execution
+point on 64bits number per clock. SMs have their own registers, execution
pipelines and caches. On Fermi architecture, there are 64Kb shared memory + L1
cache and 32,536 32bits registers per SM. More precisely the programmer can
decide what amount of shared memory and L1 cache SM can use. The constaint is
performance optimizations such as speculative execution which roughly speaking
consists in executing a small part of code in advance even if later this work
reveals to be useless. In opposite, GPUs do not have low latency memory. In
-comparison GPUs have ridiculous cache memories. Nevertheless the architecture of GPUs is optimized for throughtput computation and it takes into account the memory latency.
+comparison GPUs have ridiculous cache memories. Nevertheless the architecture of
+GPUs is optimized for throughtput computation and it takes into account the
+memory latency.
\section{Kinds of parallelism}
Many kinds of parallelism are avaible according to the type of hardware.
-Roughtly speaking, there are three classes of parallism: instruction-level
+Roughtly speaking, there are three classes of parallelism: instruction-level
parallelism, data parallelism and task parallelism.
Instruction-level parallelism consists in re-ordering some instructions in order
-to executed some of them in parallel without changing the result of the code.
+to execute some of them in parallel without changing the result of the code.
In modern CPUs, instruction pipelines allow processor to execute instruction
-faster. With a pipeline a processor can execute multiple instruction
+faster. With a pipeline a processor can execute multiple instructions
simultaneously due to the fact that the output of a task is the input of the
next one.