Improve performance with parallelization techniques
Actionable insights tagged with ‘parallel’ in Parallelware Analyzer:
PWR006: Avoid privatization of read-only variables
PWR009: Use OpenMP teams to offload work to GPU
PWR013: Avoid copying unused variables to the GPU
PWR015: Avoid copying unnecessary array elements to or from the GPU
PWR017: Transform while into for loop in order to allow vectorization
PWR018: Call to recursive function within a loop may inhibit vectorization
PWR019: Consider interchanging loops to favor vectorization by maximizing inner loop’s trip count
PWR020: Consider loop fission to enable vectorization
PWR021: Temporary computation can be extracted to a vectorizable loop
PWR022: Move invariant conditional out of the loop to facilitate vectorization
PWR024: Loop can be rewritten in OpenMP canonical form
PWR025: Consider annotating pure function with OpenMP ‘declare simd’
PWR026: Annotate function for OpenMP offload
PWR027: Annotate function for OpenACC offload
RMK001: loop nesting that might benefit from hybrid parallelization using multithreading and SIMD
RMK002: Loop nesting that might benefit from hybrid parallelization using offloading and SIMD
RMK003: Potential temporary variable for the loop which might be privatizable, thus enabling the loop parallelization