Auto-Parallelizing Option

 

1 Auto-Parallelizing Option

2 Outline

3 Auto-Parallelizing Option

4 SGI MIPSpro compilers

5 Syntax

6 Syntax

7 Link

8 Interprocedural Analysis (IPA)

9 Loop Nest Optimization (LNO)

10 Sample APO listing

11 Sample source listing

12 Running Your Program

13 Running Your Program

14 Incomplete Optimization

15 Failing to Parallelize Safe Loops

16 Function Calls

17 Problematic Array Subscripts

18 Conditionally Assigned Temporary Nonlocal Variables

19 Unanalyzable Pointer Usage (C/C++)           

20 Parallelizing the Wrong Loop

21 Inner Loops

22 Small Trip Counts

23 Poor Data Locality

24 Poor Data Locality

25 Incurring Unnecessary Parallelization Overhead

26 Unknown Trip Counts

27 Nested Parallelism

28 Strategies for Assisting APO

29 Compiler Directives for Automatic Parallelization

30 Compiler Directives

31 C*$* NO CONCURRENTIZE

32 C*$* ASSERT DO (CONCURRENT)

33 C*$* ASSERT DO (SERIAL)

34 C*$* ASSERT CONCURRENT CALL

35 C*$* ASSERT PERMUTATION

36 C*$* ASSERT DO PREFER

37 C*$* ASSERT DO PREFER

38 Example 1: AddOpac.f

39 Example 1: AddOpac.f

40 Example 2:BiDiag.f

41 Example 2:BiDiag.f

42 Example 3: ContRate.f

43 Exercises