User`s guide
Cray XMT™ Programming Environment User’s Guide
Page
3.6 Testing Expressions Using Condition Codes . . . . . . . . . . . . . . . . 34
3.7 File I/O . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7.1 Language-level I/O . . . . . . . . . . . . . . . . . . . . . . 36
3.7.2 System-level I/O . . . . . . . . . . . . . . . . . . . . . . . 39
3.8 Porting Programs to the Cray XMT . . . . . . . . . . . . . . . . . . . 43
3.9 Debugging the Program . . . . . . . . . . . . . . . . . . . . . . 45
Shared Memory Between Processes [4] 47
4.1 Mapping a Memory Region for Data Sharing . . . . . . . . . . . . . . . . 47
4.2 Persisting Shared Memory . . . . . . . . . . . . . . . . . . . . . 49
Developing LUC Applications [5]
53
5.1 Programming Considerations for LUC Applications . . . . . . . . . . . . . . 53
5.2 Creating and Using a LUC Client . . . . . . . . . . . . . . . . . . . 53
5.3 Creating and Using a LUC Server . . . . . . . . . . . . . . . . . . . 56
5.4 Communication Between LUC Objects . . . . . . . . . . . . . . . . . . 57
5.5 LUC Client/Server Example . . . . . . . . . . . . . . . . . . . . . 60
5.6 Fast I/O Memory Usage . . . . . . . . . . . . . . . . . . . . . . 65
Managing Lustre I/O with the Snapshot Library [6]
67
6.1 About the Snapshot Library . . . . . . . . . . . . . . . . . . . . . 67
6.2 The Snapshot Library Interface . . . . . . . . . . . . . . . . . . . . 68
6.3 Maintaining File System and I/O Parallelism . . . . . . . . . . . . . . . . 70
6.4 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.5 Managing File I/O on File Systems Other Than Lustre . . . . . . . . . . . . . . 74
Compiler Overview [7] 75
7.1 The Compilation Process . . . . . . . . . . . . . . . . . . . . . . 76
7.1.1 File Types Accepted by the Compiler . . . . . . . . . . . . . . . . . 79
7.2 Invoking the Compiler . . . . . . . . . . . . . . . . . . . . . . 80
7.3 Setting the Compiler Mode . . . . . . . . . . . . . . . . . . . . . 80
7.3.1 Whole-program Mode . . . . . . . . . . . . . . . . . . . . . 81
7.3.2 Separate-module Mode . . . . . . . . . . . . . . . . . . . . . 82
7.3.3 Mixed Mode . . . . . . . . . . . . . . . . . . . . . . . . 83
7.4 Inlining Functions . . . . . . . . . . . . . . . . . . . . . . . . 84
7.5 Optimizing Parallelization . . . . . . . . . . . . . . . . . . . . . 85
7.6 Incremental Recompilation and Relinking . . . . . . . . . . . . . . . . . 86
7.7 Creating New Libraries . . . . . . . . . . . . . . . . . . . . . . 87
7.8 Compiler Messages . . . . . . . . . . . . . . . . . . . . . . . 88
8 S–2479–20