Assess parallel concepts typically used for shared memory systems, e.g. to exploit temporal locality by data reuse with efficient utilization of the memory hierarchy.
Assess concepts like software pipelining and vectorization principles.
Assess the influence of control dependencies by jumps, branches, and function calls, e.g. on pipeline filling.
Assess the applicability of parallel language extensions like OpenACC, and C++ AMP.