Department of Science and Engineering Computing School of Mathematics School Peking University August 14, 2007

Size: px
Start display at page:

Download "Department of Science and Engineering Computing School of Mathematics School Peking University August 14, 2007"

Transcription

1 Department of Science and Engineering Computing School of Mathematics School Peking University August 14, 2007

2 Department of Science and Engineering Computing School of Mathematics School Peking University August 14, 2007

3 框架 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

4 Sandia 国家实验室的产品

5 Sandia 国家实验室的产品 把 MPI 的 C 接口改成了 C++ 接口

6 Sandia 国家实验室的产品 把 MPI 的 C 接口改成了 C++ 接口 提供了 blas, lapack 的 C++ 接口

7 Sandia 国家实验室的产品把 MPI 的 C 接口改成了 C++ 接口提供了 blas, lapack 的 C++ 接口各个软件包之间无缝的协作

8 Sandia 国家实验室的产品把 MPI 的 C 接口改成了 C++ 接口提供了 blas, lapack 的 C++ 接口各个软件包之间无缝的协作利用已有的软件提高效率

9 Sandia 国家实验室的产品把 MPI 的 C 接口改成了 C++ 接口提供了 blas, lapack 的 C++ 接口各个软件包之间无缝的协作利用已有的软件提高效率屏蔽内部细节, 便于灵活使用

10 Sandia 国家实验室的产品把 MPI 的 C 接口改成了 C++ 接口提供了 blas, lapack 的 C++ 接口各个软件包之间无缝的协作利用已有的软件提高效率屏蔽内部细节, 便于灵活使用三大模块 : ANA, LAL, APP

11 Sandia 国家实验室的产品把 MPI 的 C 接口改成了 C++ 接口提供了 blas, lapack 的 C++ 接口各个软件包之间无缝的协作利用已有的软件提高效率屏蔽内部细节, 便于灵活使用三大模块 : ANA, LAL, APP 关键部分采用 Fortran, 提高计算性能

12 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包

13 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is

14 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime.

15 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts.

16 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions).

17 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions). Congurable/buildable/documented on its own.

18 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions). Congurable/buildable/documented on its own. Sample packages: NOX, AztecOO, ML, IFPACK.

19 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions). Congurable/buildable/documented on its own. Sample packages: NOX, AztecOO, ML, IFPACK. Special package collection:

20 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions). Congurable/buildable/documented on its own. Sample packages: NOX, AztecOO, ML, IFPACK. Special package collection: Petra (Epetra, Tpetra, Jpetra): 具体数据对象

21 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions). Congurable/buildable/documented on its own. Sample packages: NOX, AztecOO, ML, IFPACK. Special package collection: Petra (Epetra, Tpetra, Jpetra): 具体数据对象 Thyra: 抽象概念界面

22 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions). Congurable/buildable/documented on its own. Sample packages: NOX, AztecOO, ML, IFPACK. Special package collection: Petra (Epetra, Tpetra, Jpetra): 具体数据对象 Thyra: 抽象概念界面 Teuchos: 一般工具

23 Trilinos Packages Trilinos 是一个大的软件项目, 包含了几十个软件包 Each package is Focus on important, state-of-the-art algorithms regime. Developed by a small team of domain experts. Self-contained: No explicit dependencies on any other software packages (with some special exceptions). Congurable/buildable/documented on its own. Sample packages: NOX, AztecOO, ML, IFPACK. Special package collection: Petra (Epetra, Tpetra, Jpetra): 具体数据对象 Thyra: 抽象概念界面 Teuchos: 一般工具 New_package: 帮助构造新软件包

24 Trilinos 的软件包 Basic Linear Algebra Libraries

25 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library

26 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library

27 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library

28 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver:

29 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers

30 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec

31 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations

32 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations Belos: Next generation Krylov and block Krylov solvers

33 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations Belos: Next generation Krylov and block Krylov solvers Preconditioners

34 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations Belos: Next generation Krylov and block Krylov solvers Preconditioners ML: Multi-level preconditioners

35 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations Belos: Next generation Krylov and block Krylov solvers Preconditioners ML: Multi-level preconditioners Meros: Segregated/Block Preconditioners

36 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations Belos: Next generation Krylov and block Krylov solvers Preconditioners ML: Multi-level preconditioners Meros: Segregated/Block Preconditioners IFPACK: Algebraic preconditioner

37 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations Belos: Next generation Krylov and block Krylov solvers Preconditioners ML: Multi-level preconditioners Meros: Segregated/Block Preconditioners IFPACK: Algebraic preconditioner Common Services

38 Trilinos 的软件包 Basic Linear Algebra Libraries Epetra: Current Project C++ Library Tpetra: Next Generation C++ Library Jpetra: Java Library Linear Solver: Amesos: OO interface to 3rd party direct solvers AztecOO: Preconditioned Krylov Packaage based on Aztec Komplex: Complex solver via equivalent real formulations Belos: Next generation Krylov and block Krylov solvers Preconditioners ML: Multi-level preconditioners Meros: Segregated/Block Preconditioners IFPACK: Algebraic preconditioner Common Services Teuchos: parameter Lists, Blas Interface, etc

39 框架 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

40 简单的 congure, make, make install 不太好

41 简单的 congure, make, make install 不太好 选择一下自己要用的包

42 简单的 congure, make, make install 不太好 选择一下自己要用的包 遇到不能找到 blas 或者 lapack 库的报错, 这可能是你指明库位置的 congure 语句需要改变一下

43 简单的 congure, make, make install 不太好 选择一下自己要用的包 遇到不能找到 blas 或者 lapack 库的报错, 这可能是你指明库位置的 congure 语句需要改变一下 使用时需要注意链接库的次序

44 简单的 congure, make, make install 不太好 选择一下自己要用的包 遇到不能找到 blas 或者 lapack 库的报错, 这可能是你指明库位置的 congure 语句需要改变一下 使用时需要注意链接库的次序 参考我的博客

45 Trilinos 的简单例子 Epetra 的一个简单的例子 int main(int argc, char * argv []){ int NumProc; int MyPID; MPI_Init(&argc, &argv); Epetra_MpiComm Comm(MPI_COMM_WORLD); NumProc = Comm.NumProc(); MyPID = Comm.MyPID(); cout << Comm <<endl; MPI_Finalize(); return EXIT_SUCCESS; }

46 前面例子的 Makele MPICC = mpicxx CFLAGS = -DHAVE_MPI -DMPICH_IGNORE_CXX_SEEK LDFLAGS = -lepetr -lteuchos -llapack -lblas -lg2c OBJS = epetra_hello.o all: epetra_hello.exe %.o:%.cpp $(MPICC) -c $(CFLAGS) $< -o $@ epetra_hello.exe: $(OBJS) $(MPICC) $(OBJS) $(LDFLAGS) -o $@ epetra_hello.o:epetra_hello.cpp clean: rm -f *.o rm -f *.exe

47 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

48 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

49 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

50 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

51 Epetra Commnunicator Objects 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

52 Epetra Commnunicator Objects 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small distrubted vectors: signicantly larger Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

53 Epetra Commnunicator Objects Assembling Serial Vectors 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small distrubted vectors: signicantly larger 如何分布 : 使用通信器和 Epetra_Map Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

54 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small distrubted vectors: signicantly larger 如何分布 : 使用通信器和 Epetra_Map A map is basically a partitioning of a list of global IDs. Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

55 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small distrubted vectors: signicantly larger 如何分布 : 使用通信器和 Epetra_Map A map is basically a partitioning of a list of global IDs. The fundamental Epetra communicator object, Epetra_Comm Epetra provides portable interfaces to BLAS

56 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small distrubted vectors: signicantly larger 如何分布 : 使用通信器和 Epetra_Map A map is basically a partitioning of a list of global IDs. The fundamental Epetra communicator object, Epetra_Comm The Epetra_Map object Epetra provides portable interfaces to BLAS

57 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small distrubted vectors: signicantly larger 如何分布 : 使用通信器和 Epetra_Map A map is basically a partitioning of a list of global IDs. The fundamental Epetra communicator object, Epetra_Comm The Epetra_Map object The creation and assembly of Epetra vectors.

58 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 向量是基本的数据结构,trilinos 软件主要通过 Epetra 构造向量 两种类型的数据 :double 和 int serial Epetra Vector or distributed ( 分布式 ) Epetra Vector Serial Vectors: usually small distrubted vectors: signicantly larger 如何分布 : 使用通信器和 Epetra_Map A map is basically a partitioning of a list of global IDs. The fundamental Epetra communicator object, Epetra_Comm The Epetra_Map object The creation and assembly of Epetra vectors. A tool to redistributing vectors across processes.

59 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

60 Epetra Commnunicator Objects 纯虚类 Epetra_Comm Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

61 Epetra Commnunicator Objects 纯虚类 Epetra_Comm 两个子类, 一个是提供串行通信, 一个提供并行通信 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

62 使用 Epetra_Comm 的例子 I Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS #include ``Epetra_ConfigDefs.h'' #ifdef HAVE_MPI // 在编译的时候加选项 -DHAVE_MPI #include ``mpi.h'' #include ``Epetra_MpiComm.h'' #else #include ``Epetra_SerialComm.h'' #endif // 加上其他的头文件 int main(int argc, char *argv[]) #ifdef HAVE_MPI MPI_Init(&argc, &argv); Epetra_MpiComm Comm(MPI_COMM_WORLD); #else Epetra_SerialComm Comm; #endif

63 使用 Epetra_Comm 的例子 II Epetra Commnunicator Objects Assembling Serial Vectors // 其他代码 #ifdef HAVE_MPI MPI_Finalize(); #endif Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

64 Epetra Commnunicator Objects Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes 串行和并行的代码基本相同 Epetra_Comm 的方法和 MPI 函数 Epetra_Comm 的方法有 MyPID(), NumProc( ), Barrier( ), Broadcast( ), SumAll( ), GatherAll( ), MaxAll( ), MinAll( ), ScanSum( ) 例 int NumProc = Comm.NumProc(); // 处理器的个数 int MyPID = Comm.MyPID(); // 处理器的序号 (rank) 阅读 Epetra 类的头文件 Epetra provides portable interfaces to BLAS

65 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

66 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

67 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) 定义了 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

68 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) 定义了 NumGlobalElements( ): The total number of elements across all processes. Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

69 Epetra Commnunicator Objects 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) 定义了 NumGlobalElements( ): The total number of elements across all processes. NumMyElements(): The number of elements on the calling process. Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

70 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) 定义了 NumGlobalElements( ): The total number of elements across all processes. NumMyElements(): The number of elements on the calling process. MinAllGID( )/MaxAllGID( ): The minimum/maximum global index value across all processes. Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

71 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) 定义了 NumGlobalElements( ): The total number of elements across all processes. NumMyElements(): The number of elements on the calling process. MinAllGID( )/MaxAllGID( ): The minimum/maximum global index value across all processes. MinMyGID( )/MaxGID( ): The minimum/maximum global index value on the calling process. Epetra provides portable interfaces to BLAS

72 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) 定义了 NumGlobalElements( ): The total number of elements across all processes. NumMyElements(): The number of elements on the calling process. MinAllGID( )/MaxAllGID( ): The minimum/maximum global index value across all processes. MinMyGID( )/MaxGID( ): The minimum/maximum global index value on the calling process. MinLID( )/ MaxLID( ): The minimum/maximum local index value on the calling process.

73 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 多个 CPU 分布的一组编号称作一个 Map, (Epetra_Map 类 ) 定义了 NumGlobalElements( ): The total number of elements across all processes. NumMyElements(): The number of elements on the calling process. MinAllGID( )/MaxAllGID( ): The minimum/maximum global index value across all processes. MinMyGID( )/MaxGID( ): The minimum/maximum global index value on the calling process. MinLID( )/ MaxLID( ): The minimum/maximum local index value on the calling process. LinearMap( ): Return true if the elements are distributed linearly across processes, i.e., process 0 gets the frist n/p elemetns, process 1 gets the next n/p elements, etc, n is the number of elements and p is the number of processes.

74 I Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS #include ``mpi.h'' #include ``Epetra_MpiComm.h'' #include ``Epetra_Map.h'' # int main(int argc, char * argv[]){ MPI_Init(&argc, &argv); Epetra_MpiComm comm(mpi_comm_world); // 构造 Map 的第一种方法 : 给定总的单元数, 构造一个线性 Map int NumGlobalPoint=5; Epetra_Map Map1(NumGlobalPoint,0,comm); //comm 前面的 0 是全局点编号开始的位置 // 如果用 3 个处理器, 每个处理器分布几个 Global IDs //Map1 是 linear Map 吗?

75 II Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes if(map1.linearmap()) cout << ``Map1 is a linear Map'' else cout <<``Map1 is not a linear Map''<<endl; cout << Map1; // 构造 Map 的第二种方法 : 给定每个 process 上的单元数 // 构造一个线性 Map int NumMyPoints = comm.mypid(); Epetra_Map Map2(-1,NumMyPoints,0,comm); Epetra provides portable interfaces to BLAS

76 构造 Map 的第三种方法 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS Figure: 指定每个 process 上的单元个数和 GID, 构造非线性 Map

77 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

78 Assembling Serial Vectors Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 每个进程上都定义了一个长度为 Length 的 double 向量 #include ``Epetra_SerialDenseVector.h'' Epetra_SerialDenseVector DoubleVector(Length); 每个进程上都定义了一个长度为 Length 的 integer 向量 #include ``Epetra_SerialDenseVector.h'' Epetra_SerialIntDenseVector IntVector(Length); 不用手动删除内存 [],() 都是可以取值和赋值的方法 DoubleVector[0] = 10.0; // 赋值 DoubleVector(Length-1) = 20.0; // 赋值 cout << IntVector[Length-1]<<endl; // 取值 ( ), 强制越界检查 ; [] 无强制越界检查

79 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

80 Assembling a Distributed Vector Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS A distributed object is an entity whose elements are partitioned across more than one process. Epetra's distributed objects are created from a Map. 使用 Epetra_Map 的构造函数 例 : Epetra_Vector x(map) Copy constructor. 例 : Epetra_Vector y(x); 例 : Epetra_Vector x(copy,map,localvalues); Localvalues is a pointer to an array of double precision values. 两种模式 : Copy: 分配空间, copy data View: 不分配空间, 使用 LocalValues 所指空间

81 把 Epetra_Vector 转换成指针使用 Epetra Commnunicator Objects double * x_values; x.extractview( & x_values); for(int i=0;i<x.mylength();++i)x_values[i]*=10; Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes x_values 指针指向 Epetra_Vector x 的数据存储空间 对 x_values[i] 的操作等同于对 x[i] 的操作 x.extraccopy(&x_values); 和 ExtractView 有什么区别? Epetra provides portable interfaces to BLAS

82 Epetra_Vector 的其它方法 int Norm1(double * Result) const 返回 1-norm: P n i=1 jxi j int Norm2(double * Result) const 返回 2-norm: p P ni=1 jxi j2 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

83 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

84 Epetra_Import and Epetra_Export classes Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS Epetra_Import and Epetra_Export classes apply o-processor communication. They construct a communication plan that can be called repeatedly 构造函数的参数 :SourceMap, TargetMap Epetra_Import 中 TargetMap 的 GID 是唯一的, 不会同一个 GID 出现在两个 Processor 上 Epetra_Export 中 SourceMap 的 GID 是唯一的, 不会同一个 GID 出现在两个 Processor 上

85 Epetra Export 的例子 I Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS //Epetra_Export 类 // 这个程序要用两个节点运行 #include "Epetra_ConfigDefs.h" #ifdef HAVE_MPI #include "mpi.h" #include "Epetra_MpiComm.h" #else #include "Epetra_SerialComm.h" #endif #include "Epetra_Map.h" #include "Epetra_Vector.h" #include "Epetra_Export.h"

86 Epetra Export 的例子 II Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS int main(int argc, char *argv[]) { #ifdef HAVE_MPI MPI_Init(&argc, &argv); Epetra_MpiComm Comm(MPI_COMM_WORLD); #else Epetra_SerialComm Comm; #endif // 总的单元数 int NumGlobalElements = 4; // 局部的单元数 int NumMyElements; Epetra_IntSerialDenseVector MyGlobalElements;

87 Epetra Export 的例子 III Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS if( Comm.MyPID() == 0 ) { NumMyElements = 3; MyGlobalElements.Size(NumMyElements); MyGlobalElements[0] = 0; MyGlobalElements[1] = 1; MyGlobalElements[2] = 2; } else { } NumMyElements = 3; MyGlobalElements.Size(NumMyElements); MyGlobalElements[0] = 1; MyGlobalElements[1] = 2; MyGlobalElements[2] = 3; //Map 构造函数的第一个参数 -1, // 表示第二个参数给出的是局部向量元素的个数,

88 Epetra Export 的例子 IV Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS // 第三个参数是一个指针类型的, 给出 // 局部序号对应的整体序号 根据这些信息, // 总的向量元素的个数就可以计算出来 // 下面的 0 表示向量元素的序号从 0 开始计算 // 这些整体序号可能是重复, // 也就是该元素在多个处理器重复保存 Epetra_Map Map(-1,MyGlobalElements.Length(), MyGlobalElements.Values(),0, Comm); // create a vector based on map Epetra_Vector x(map); for( int i=0 ; i<nummyelements ; ++i ) x[i] = 10*( Comm.MyPID()+1 ); cout << x; // 构造一个目标 Map

89 Epetra Export 的例子 V Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS int NumMyElements_target; if( Comm.MyPID() == 0 ) NumMyElements_target = NumGlobalElements; else NumMyElements_target = 0; Epetra_Map TargetMap(-1,NumMyElements_target,0,Comm Epetra_Export Exporter(Map,TargetMap); // work on vectors Epetra_Vector y(targetmap); // 这个操作就会把在各个处理器上的和 TargetMap // 的 GID( 整体序号 ) 相同的元素传输到到目标单

90 Epetra Export 的例子 VI Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS // 元所在的处理器, 并且把数值加起来作为 // 结果存在目标向量里 y.export(x,exporter,add); cout << y; #ifdef HAVE_MPI MPI_Finalize(); #endif } return(exit_success);

91 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

92 MPI_Barrier and MPI_Bcast Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes MPI_Barrier 用于函数同步 所有的进程都调用了此函数后才返回 MPI_Barrier(MPI_COMM_WORLD); comm.barrier() MPI_Bcast 将自己 buer 中的内容发送给通信器中所有其他进程 double dvalue; int root = 0; int MPI_Bcast(&dvalue, 1, MPI_DOUBLE, root, MPI_COMM_WORLD); comm.broadcast(&dvalue, 1, root); Epetra provides portable interfaces to BLAS

93 归约操作 : MPI_Reduce Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS int MPI_Reduce(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm) Input Parameters sendbuf address of send buffer (choice) count number of elements in send buffer datatype data type of elements of send buffer op reduce operation (handle) root rank of root process (integer) comm communicator (handle) Output Parameter recvbuf address of receive buffer Algorithm: This implementation currently uses a simple tree algorithm.

94 MPI_Reduce 的例子 :sum.cpp I Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS /* FileName: sum.cpp 计算 sum = 编译命令 : mpicxx -DMPICH_IGNORE_CXX_SEEK -o sum.exe sum.cpp 这个程序用的进程个数必须能整除 1000 */ #include <iostream> #include "mpi.h" using namespace std; int main(int argc,char *argv[]) { int NumProc, MyPID, startval, endval,i;

95 MPI_Reduce 的例子 :sum.cpp II Epetra Commnunicator Objects int sum,totalsum; int imsg[4]; double a[9]; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&NumProc); MPI_Comm_rank(MPI_COMM_WORLD,&MyPID); Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS startval = 1000*MyPID/NumProc + 1; endval = 1000*(MyPID+1)/NumProc; sum =0; for (i=startval; i< endval; i++) sum=sum + i;

96 MPI_Reduce 的例子 :sum.cpp III Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS } //recvbuf 和 sendbuf 必须不同 MPI_Reduce(&sum,&totalsum,1,MPI_INT,MPI_SUM, 0,MPI_COMM_WORLD); if( MyPID == 0) cout<<"the sum of i from 1 to 1000 \ is "<< totalsum <<endl; MPI_Finalize(); return 0;

97 MPI_AllGather Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector double *dvalues, *dvalues = new double[numproc]; MPI_Allgather(dvalues, 1, MPI_DOUBLE, dvalues2, NumProc, MPI_DOUBLE,MPI_COMM_WORLD); Comm.GatherAll(dvalues, dvalues2, 1); Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

98 Allgather 示意图 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

99 框架 1 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 2 3 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

100 Epetra Commnunicator Objects Assembling Serial Vectors Calling FORTRAN from C++ varies from platform to platform Epetra_BLAS handles the details of this issue Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS

101 框架 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

102 计算向量 ~a ~ b 分配向量 计算每个处理器上的局部内积 使用 MPI 函数 MPI_Allreduce 把局部内积相加得到 Global inner product.

103 不使用 Epetra 的程序 I int main(int argc, char * argv[]) { MPI_Init(&argc, &argv); int rank, size; MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); if(size!= 2){ cout <<"Please use two processors"<<endl; MPI_Abort(MPI_COMM_WORLD,EXIT_FAILURE); } int length; if(rank == 0 ) length = 3; if(rank == 1 ) length = 2;

104 不使用 Epetra 的程序 II double * a = new double[length]; double * b = new double[length]; int i; /// 赋值 for(i = 0; i < length; i ++){ a[i] = (rank+1)*10.0; b[i] = (rank+2)*10.0; } for(i = 0; i < length; i ++) cout<<"cpu NO. "<<rank<< ", a["<<i<<"] = "<<a[i]<<endl; for(i = 0; i < length; i ++)

105 不使用 Epetra 的程序 III cout<<"cpu NO. "<<rank<< ", b["<<i<<"] = "<<b[i]<<endl; /**** 计算内积的部分的头 *************/ double * c = new double; /// 储存局部向量的内积 c[0] = 0.0; for(i = 0; i < length; i ++) c[0] += a[i]*b[i]; double result; //int MPI_Allreduce(void*, void*, int, // MPI_Datatype, MPI_Op, MPI_Comm); MPI_Allreduce(c,&result,1,MPI_DOUBLE, MPI_SUM,MPI_COMM_WORLD); /**** 计算内积的部分的尾 *************/

106 不使用 Epetra 的程序 IV cout <<"on the cpu No. "<<rank<<", a dot b = "<<result<<endl; delete[]a; delete[]b; delete c; MPI_Finalize(); return EXIT_SUCCESS; }

107 使用 Epetra 计算内积的程序 I #include "Epetra_ConfigDefs.h" #include "mpi.h" #include "Epetra_MpiComm.h" #include "Epetra_Map.h" #include "Epetra_Vector.h" int main(int argc, char *argv[]) { MPI_Init(&argc, &argv); Epetra_MpiComm Comm(MPI_COMM_WORLD); int rank, size; rank = Comm.MyPID(); size = Comm.NumProc();

108 使用 Epetra 计算内积的程序 II if(size!= 2){ cout <<"Please use two processors"<<endl; MPI_Abort(MPI_COMM_WORLD,EXIT_FAILURE); } int length; if(rank == 0) length = 3; if(rank == 1) length = 2; // 构造一个 Map Epetra_Map Map(-1,length,0,Comm); // 构造两个向量 Epetra_Vector a(map); Epetra_Vector b(map);

109 使用 Epetra 计算内积的程序 III /// 赋值 for(int i = 0; i < length; i ++){ a[i] = (rank+1)*10.0; b[i] = (rank+2)*10.0; } cout << a; cout << b; double result; /// 计算 a 和 b 的内积 a.dot(b, &result); cout <<"a dot b = "<<result<<endl;

110 使用 Epetra 计算内积的程序 IV MPI_Finalize(); return EXIT_SUCCESS; }

111 Epetra 的程序是怎么写的? 还是利用 MPI_Allreduce 函数利用 BLAS 计算局部内积利用 C++ 的函数重载, 使得不用指明数据类型重载了 输出算符

112 Epetra 实现 Dot 的部分源程序 I //=================================================== // 程序是对 Epetra_Multivector 写的, Epetra_Vector // 是其子类 int Epetra_MultiVector::Dot(const Epetra_MultiVector& A, double *Result) const { // Dot product of two MultiVectors int i; if (NumVectors_!= A.NumVectors()) EPETRA_CHK_ERR(-1); if (MyLength_!= A.MyLength()) EPETRA_CHK_ERR(-2); UpdateDoubleTemp();// 分配一个临时 double 变量

113 Epetra 实现 Dot 的部分源程序 II double **A_Pointers = A.Pointers(); //DOT 是对 BLAS 库函数的调用的接口 for (i=0; i < NumVectors_; i++) DoubleTemp_[i] = DOT(MyLength_, Pointers_[i], A_Pointers[i]); Comm_->SumAll(DoubleTemp_, Result, NumVectors_); UpdateFlops(2*GlobalLength_*NumVectors_); } return(0); //=================================================== //===SumAll 函数的重载 (double 型 )=======================

114 Epetra 实现 Dot 的部分源程序 III // 就是调用 MPI_Allreduce( MPI_SUM ) 的接口 int Epetra_MpiComm::SumAll(double * PartialSums, double * GlobalSums, int Count) const { EPETRA_CHK_ERR(MPI_Allreduce(PartialSums, GlobalSums,Count, MPI_DOUBLE, MPI_SUM, MpiCommData_->Comm_)); return(0); } //===SumAll 函数的重载 (int 型 )======================== int Epetra_MpiComm::SumAll(int * PartialSums, int * GlobalSums, int Count) const { EPETRA_CHK_ERR(MPI_Allreduce(PartialSums, GlobalSums,Count, MPI_INT, MPI_SUM, MpiCommData_->Comm_));

115 Epetra 实现 Dot 的部分源程序 IV } return(0); //===================================================

116 框架 Epetra Commnunicator Objects Assembling Serial Vectors Assembling a Distributed Vector Epetra_Import and Epetra_Export classes Epetra provides portable interfaces to BLAS 4 5

117 1 参考我博客上的安装方法或者 Trilinos 的说明文档安装 Trilinos, 不要使用 enable-ml 安装 ml 包 2 仿照 lecture 上例子练习 Epetra_Map, 分别使用三种构造函数构造 Epetra_Map 的实例, 回答课件上提出的问题 3 仿照利用 Epetra_Vector 计算向量内积 ( 方法 Dot) 的例子, 学习使用其他 Epetra_Vector 的方法, 如 Norm2, Scale 等可以参考 Epetra 的帮助文档 : 4 课件使用 MPI_Reduce 计算 1 到 1000 的和, 请换成 MPI_Allreduce 函数计算, 并说明 MPI_Reduce 和 MPI_Allreduce 的区别

Trilinos 简介 Trilinos 简介 卢朓 Trilinos 简介 卢朓 Trilinos 简介 Trilinos 简介 Trilinos 的安装和使用 Trilinos 简介 Trilinos 简介 Trilinos 的安装和使用 Trilinos 简介 Trilinos Epetra

Trilinos 简介 Trilinos 简介 卢朓 Trilinos 简介 卢朓 Trilinos 简介 Trilinos 简介 Trilinos 的安装和使用 Trilinos 简介 Trilinos 简介 Trilinos 的安装和使用 Trilinos 简介 Trilinos Epetra Department of Science and Engineering Computing School of Mathematics School Peking University Department of Science and Engineering Computing School of Mathematics School Peking University August 14,

More information

Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007 Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007 Department of Science and Engineering Computing School of Mathematics School Peking University

More information

投影片 1

投影片 1 平行運算簡介 / 實例操作企鵝也會的 MPICH 研究員 : 鄧偉華 wade@nchc.org.tw 什麼是平行計算 傳統 : 單一程序 單一 CPU 什麼是平行計算 ( 續 ) 平行計算 程序切割 多 CPUs 為什麼要平行計算 簡省時間 解決大型問題 即時性 使用更多來自網路上的資源 使用大量 便宜 PCs 取代超級電腦 記憶體不足 平行計算種類 Flynn's taxonomy 多處理器架構

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

第7章-并行计算.ppt

第7章-并行计算.ppt EFEP90 10CDMP3 CD t 0 t 0 To pull a bigger wagon, it is easier to add more oxen than to grow a gigantic ox 10t 0 t 0 n p Ts Tp if E(n, p) < 1 p, then T (n) < T (n, p) s p S(n,p) = p : f(x)=sin(cos(x))

More information

Parallel Programming with MPI

Parallel Programming  with MPI MPI 并行编程入门 中国科学院计算机网络信息中心超级计算中心 聚合通信 定义 三种通信方式 聚合函数列表 同步 广播 收集 散发 全散发收集 归约 定义 communicator 1 3 4 5 0 2 一个通信器的所有进程参与, 所有进程都调用聚合通信函数 MPI 系统保证聚合通信函数与点对点调用不会混淆 聚合通信不需要消息标号 聚合通信函数都为阻塞式函数 聚合通信的功能 : 通信 同步 计算等

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

to AztecOO Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007

to AztecOO Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007 to AztecOO Department of Science and Engineering Computing School of Mathematics School Peking University October 9, 2007 to AztecOO Department of Science and Engineering Computing School of Mathematics

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

基 隆 市 103 年 度 人 口 統 計 分 析 單 位 名 稱 : 基 隆 市 政 府 主 計 處 編 印 時 間 : 中 華 民 國 104 年 4 月 目 錄 壹 前 言...1 貳 簡 要 分 析...3 一 人 口 概 況...3 ( 一 ) 人 口 數 與 人 口 密 度...3 ( 二 ) 戶 數 與 戶 量...3 ( 三 ) 各 行 政 區 人 口 概 況...4 二 人 口

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

cgn

cgn 3654 ( 571 ) 88(4) 2014 3 31 10766 10778 2014 3 31 ( ) 2 21 ( ) 2014 3 31 10768 10778 6 9 1. ( ) 2. 3. 4. 5. 2014 6 3 ( ) 10768 10778 ( ) 2014 3 31 ( 622 ) 11 80 2014 3 31 2014 6 3 10 8 2014 3 31 ( ) 2014

More information

女性美容保健(四).doc

女性美容保健(四).doc ...1...4...6...8...9...10... 11...12...13...15...18...20...21...22...26...33...39...43 I II...47...52...53...59...60...63...65...68...69...71...73 1.5 ml...78...79...85...88...90...94...95...97...98...

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

2015 2 104 109 110 112 113 113 113 114 1 (1) 9,654,346,443 6,388,650,779 4,183,429,633 1,183,342,128 (2) 47,710,000 41,600,000 16,600,000 13,200,000 (3), (1) 371,147,787 125,421,629 749,150,179 565,001,961

More information

马太亨利完整圣经注释—雅歌

马太亨利完整圣经注释—雅歌 第 1 页 目 录 雅 歌 简 介... 2 雅 歌 第 一 章... 2 雅 歌 第 二 章... 10 雅 歌 第 三 章... 16 雅 歌 第 四 章... 20 雅 歌 第 五 章... 25 雅 歌 第 六 章... 32 雅 歌 第 七 章... 36 雅 歌 第 八 章... 39 第 2 页 雅 歌 简 介 我 们 坚 信 圣 经 都 是 神 所 默 示 的 ( 提 摩 太 后 书

More information

二零零六年一月二十三日會議

二零零六年一月二十三日會議 附 件 B 有 关 政 策 局 推 行 或 正 在 策 划 的 纾 缓 及 预 防 贫 穷 措 施 下 文 载 述 有 关 政 策 局 / 部 门 为 加 强 纾 缓 及 预 防 贫 穷 的 工 作, 以 及 为 配 合 委 员 会 工 作, 在 过 去 十 一 个 月 公 布 及 正 在 策 划 的 新 政 策 和 措 施 生 福 利 及 食 物 局 (i) 综 合 儿 童 发 展 服 务 2.

More information

厨房小知识(四)

厨房小知识(四) I...1...2...3...4...4...5...6...6...7...9...10... 11...12...12...13...14...15...16...17...18...18...19...22...22 II...23...24...25...26...27...27...28...29...29...30...31...31?...32...32...33?...33...34...34...35...36...36...37...37...38...38...40

More information

妇女更年期保健.doc

妇女更年期保健.doc ...1...2...3...5...6...7 40...8... 11...13...14...16...17...19...20...21...26...29...30...32 I ...34...35...37...41...46...50...51...52...53...54...55...58...64...65 X...67...68...70...70...74...76...78...79

More information

小儿传染病防治(上)

小儿传染病防治(上) ...1...2...3...5...7...7...9... 11...13...14...15...16...32...34...34...36...37...39 I ...39...40...41...42...43...48...50...54...56...57...59...59...60...61...63...65...66...66...68...68...70...70 II

More information

<4D6963726F736F667420576F7264202D2031303430333234B875B9B5A448ADFBBADEB27AA740B77EA4E2A5555FA95EAED6A641ADD75F2E646F63>

<4D6963726F736F667420576F7264202D2031303430333234B875B9B5A448ADFBBADEB27AA740B77EA4E2A5555FA95EAED6A641ADD75F2E646F63> 聘 僱 人 員 管 理 作 業 參 考 手 冊 行 政 院 人 事 行 政 總 處 編 印 中 華 民 國 104 年 3 月 序 人 事 是 政 通 人 和 的 關 鍵 是 百 事 俱 興 的 基 礎, 也 是 追 求 卓 越 的 張 本 唯 有 人 事 健 全, 業 務 才 能 順 利 推 動, 政 府 施 政 自 然 績 效 斐 然 本 總 處 做 為 行 政 院 人 事 政 策 幕 僚 機

More information

女性青春期保健(下).doc

女性青春期保健(下).doc ...1...4...10... 11...13...14...15...17...18...19...20...21...22...23...24...26...27...30...31 I ...32...33...36...37...38...40...41...43...44...45...46...47...50...51...51...53...54...55...56...58...59

More information

避孕知识(下).doc

避孕知识(下).doc ...1...3...6...13...13...14...15...16...17...17...18...19...19...20...20...23...24...24...25 I ...25...26...26...27...28...28...29...30...30...31...32...34...35 11...36...37...38...40...42...43...44...44...46

More information

孕妇饮食调养(下).doc

孕妇饮食调养(下).doc ...1...2...5...9 7...9...14...15...16...18...22...23...24...25...27...29...31...32...34 I ...35...36...37...39...40...40...42...44...46...48...51...52...53...53...54...55...56...56...58...61...64 II ...65...66...67...68...69...70...71...72...73...74...75...76...77...80...83...85...87...88

More information

禽畜饲料配制技术(一).doc

禽畜饲料配制技术(一).doc ( ) ...1...1...4...5...6...7...8...9...10... 11...13...14...17...18...21...23...24...26 I ...28 70...30...33...35...36...37...39...40...41...49...50...52...53...54...56...58...59...60...67...68...70...71

More information

中老年保健必读(十一).doc

中老年保健必读(十一).doc ...1...2...4...6...8...9...10...12...14...15...17...18...20...22...23...25...27...29 I ...30...32...35...38...40...42...43...45...46...48...52...55...56...59...62...63...66...67...69...71...74 II ...76...78...79...81...84...86...87...88...89...90...91...93...96...99...

More information

i

i i ii iii iv v vi 1 2 3 4 5 (b) (a) (b) (c) = 100% (a) 6 7 (b) (a) (b) (c) = 100% (a) 2 456 329 13% 12 120 7.1 0.06% 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) (b) (c) 21 22 23 24 25 26 27 28 29 30 31 =

More information

怎样使孩子更加聪明健康(七).doc

怎样使孩子更加聪明健康(七).doc ...1...2...2...4...5 7 8...6...7...9 1 3... 11...12...14...15...16...17...18...19...20...21...22 I II...23...24...26 1 3...27...29...31...31...33...33...35...35...37...39...41...43...44...45 3 4...47...48...49...51...52

More information

i

i i ii iii iv v vi 1 g j 2 3 4 ==== ==== ==== 5 ==== ======= 6 ==== ======= 7 ==== ==== ==== 8 [(d) = (a) (b)] [(e) = (c) (b)] 9 ===== ===== ===== ===== ===== ===== 10 11 12 13 14 15 16 17 ===== [ ] 18 19

More information

热设计网

热设计网 例 例 Agenda Popular Simulation software in PC industry * CFD software -- Flotherm * Advantage of Flotherm Flotherm apply to Cooler design * How to build up the model * Optimal parameter in cooler design

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

消息传递并行编程环境MPI.doc

消息传递并行编程环境MPI.doc 973 MPI PETS 8 15 8 16 8 17 MPI MPI MPI MPI 2 MPI PETS PETS 1 1971 7 1992 1997 1999 2 MPI MPI MPI 1 MPI MPI MPI 2 - u=f MPI 3 1 proess 1 2 2 CPU 4 send reeive barrier redution 1 2 3 CPU soket, 4 : API

More information

<4D6963726F736F667420506F776572506F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

<4D6963726F736F667420506F776572506F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074> 软 件 架 构 师 研 修 讲 座 胡 协 刚 软 件 架 构 师 UML/RUP 专 家 szjinco@public.szptt.net.cn 中 国 软 件 架 构 师 网 东 软 培 训 中 心 小 故 事 : 七 人 分 粥 当 前 软 件 团 队 的 开 发 现 状 和 面 临 的 问 题 软 件 项 目 的 特 点 解 决 之 道 : 从 瀑 布 模 型 到 迭 代 模 型 解 决 项

More information

6-7 6-8 6-9 Process Data flow Data store External entity 6-10 Context diagram Level 0 diagram Level 1 diagram Level 2 diagram 6-11 6-12

6-7 6-8 6-9 Process Data flow Data store External entity 6-10 Context diagram Level 0 diagram Level 1 diagram Level 2 diagram 6-11 6-12 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 Process Data flow Data store External entity 6-10 Context diagram Level 0 diagram Level 1 diagram Level 2 diagram 6-11 6-12 6-13 6-14 6-15 6-16 6-17 6-18 6-19 6-20 6-21

More information

Microsoft PowerPoint ARIS_Platform_en.ppt

Microsoft PowerPoint ARIS_Platform_en.ppt ARIS Platform www.ixon.com.tw ARIS ARIS Architecture of Integrated Information System Prof. Dr. Dr. h.c. mult. August-Wilhelm Scheer ARIS () 2 IDS Scheer AG International Presence >> Partners and subsidiaries

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

Outline Speech Signals Processing Dual-Tone Multifrequency Signal Detection 云南大学滇池学院课程 : 数字信号处理 Applications of Digital Signal Processing 2

Outline Speech Signals Processing Dual-Tone Multifrequency Signal Detection 云南大学滇池学院课程 : 数字信号处理 Applications of Digital Signal Processing 2 CHAPTER 10 Applications of Digital Signal Processing Wang Weilian wlwang@ynu.edu.cn School of Information Science and Technology Yunnan University Outline Speech Signals Processing Dual-Tone Multifrequency

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

最新监狱管理执法全书(五十三)

最新监狱管理执法全书(五十三) ........................ I .......................... II ......... 2001..................... III IV..................... 2002... 2002......... ............ V (2000)63

More information

Microsoft PowerPoint - Aqua-Sim.pptx

Microsoft PowerPoint - Aqua-Sim.pptx Peng Xie, Zhong Zhou, Zheng Peng, Hai Yan, Tiansi Hu, Jun-Hong Cui, Zhijie Shi, Yunsi Fei, Shengli Zhou Underwater Sensor Network Lab 1 Outline Motivations System Overview Aqua-Sim Components Experimental

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

最新执法工作手册(一百一十六).doc

最新执法工作手册(一百一十六).doc ......... ()..................... I ... 2001... 2001........................ II ............ III 1996 12 14 24 1996 12 14 8 55 1996 12 14 1980 54 1 2 3 1 2 3 4 1 2 3 4 5 () ( 1984 147

More information

最新执法工作手册(一百零二)

最新执法工作手册(一百零二) ........................ I .................................... II \..................................... III [2002]147 [2000]25 2002 10 1 2005 12 31 2002 10 8 1995 6 8 3 1 2 5 10 2 4 94 423

More information

数 字 图 书 馆 论 坛 案 例 课 堂 形 不 成 精 品 ; 在 信 息 流 通 方 面, 由 于 开 发 报 道 不 够, 致 使 馆 藏 资 料 利 用 率 低, 造 成 馆 藏 空 间 管 理 人 员 等 多 方 面 的 浪 费 如 何 在 保 证 信 息 安 全 的 前 提 下, 摆

数 字 图 书 馆 论 坛 案 例 课 堂 形 不 成 精 品 ; 在 信 息 流 通 方 面, 由 于 开 发 报 道 不 够, 致 使 馆 藏 资 料 利 用 率 低, 造 成 馆 藏 空 间 管 理 人 员 等 多 方 面 的 浪 费 如 何 在 保 证 信 息 安 全 的 前 提 下, 摆 浙江省党校系统图书馆信息服 * 务网络运行模式与功能 周全 / 浙江省委党校图书馆 杭州 310012 摘要 文章以浙江省党校系统图书馆为例 直呈党校网络图书馆建设和信息服务网络运行模式与功能方 面的探索与实践 以期同行在数字化建设中或有助益 关键词 党校系统 图书馆网络 信息服务 浙江省党校系统图书馆信息服务网络是一个旨 建了数字图书馆管理系统和内 外网网站 为推进 在构筑浙江地区党校文献信息资源共享服务体系,

More information

群科課程綱要總體課程計畫書

群科課程綱要總體課程計畫書 核 准 文 號 :102 年 4 月 22 日 臺 教 國 署 高 字 第 1020036237 號 國 立 曾 文 高 級 農 工 職 業 學 校 群 科 課 程 綱 要 總 體 課 程 計 畫 書 (102 學 年 度 入 學 學 生 適 用 ) 中 華 民 國 102 年 04 月 22 日 國 立 曾 文 高 級 農 工 職 業 學 校 群 科 課 程 綱 要 總 體 課 程 計 畫 書 核

More information

Microsoft Word - (web)_F.1_Notes_&_Application_Form(Chi)(non-SPCCPS)_16-17.doc

Microsoft Word - (web)_F.1_Notes_&_Application_Form(Chi)(non-SPCCPS)_16-17.doc 聖 保 羅 男 女 中 學 學 年 中 一 入 學 申 請 申 請 須 知 申 請 程 序 : 請 將 下 列 文 件 交 回 本 校 ( 麥 當 勞 道 33 號 ( 請 以 A4 紙 張 雙 面 影 印, 並 用 魚 尾 夾 夾 起 : 填 妥 申 請 表 並 貼 上 近 照 小 學 五 年 級 上 下 學 期 成 績 表 影 印 本 課 外 活 動 表 現 及 服 務 的 證 明 文 件 及

More information

ENGG1410-F Tutorial 6

ENGG1410-F Tutorial 6 Jianwen Zhao Department of Computer Science and Engineering The Chinese University of Hong Kong 1/16 Problem 1. Matrix Diagonalization Diagonalize the following matrix: A = [ ] 1 2 4 3 2/16 Solution The

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

Guide to Install SATA Hard Disks

Guide to Install SATA Hard Disks SATA RAID 1. SATA. 2 1.1 SATA. 2 1.2 SATA 2 2. RAID (RAID 0 / RAID 1 / JBOD).. 4 2.1 RAID. 4 2.2 RAID 5 2.3 RAID 0 6 2.4 RAID 1.. 10 2.5 JBOD.. 16 3. Windows 2000 / Windows XP 20 1. SATA 1.1 SATA Serial

More information

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I 2004 5 IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I Abstract The techniques of digital video processing, transferring

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft PowerPoint - L17_Inheritance_v4.pptx

Microsoft PowerPoint - L17_Inheritance_v4.pptx C++ Programming Lecture 17 Wei Liu ( 刘 威 ) Dept. of Electronics and Information Eng. Huazhong University of Science and Technology May. 2015 Lecture 17 Chapter 20. Object-Oriented Programming: Inheritance

More information

(Chi)_.indb

(Chi)_.indb 1,000,000 4,000,000 1,000,000 10,000,000 30,000,000 V-1 1,000,000 2,000,000 20,000,00010,000,0005,000,000 3,000,000 30 20% 35% 20%30% V-2 1) 2)3) 171 10,000,00050% 35% 171 V-3 30 V-4 50,000100,000 1) 2)

More information

14A 0.1%5% 14A 14A.52 1 2 3 30 2

14A 0.1%5% 14A 14A.52 1 2 3 30 2 2389 30 1 14A 0.1%5% 14A 14A.52 1 2 3 30 2 (a) (b) (c) (d) (e) 3 (i) (ii) (iii) (iv) (v) (vi) (vii) 4 (1) (2) (3) (4) (5) 400,000 (a) 400,000300,000 100,000 5 (b) 30% (i)(ii) 200,000 400,000 400,000 30,000,000

More information

高級職業學校實習辦法(草案二)(93

高級職業學校實習辦法(草案二)(93 高 雄 市 政 府 教 育 局 104.03.31 高 市 教 高 字 第 10431944200 號 函 核 備 高 雄 市 立 高 雄 高 級 商 業 職 業 學 校 群 課 程 綱 要 總 體 課 程 計 畫 書 (104 學 年 度 入 學 學 生 適 用 ) 中 華 民 國 104 年 03 月 31 日 高 雄 高 級 商 業 職 業 學 校 群 課 程 綱 要 總 體 課 程 計 畫

More information

穨_2_.PDF

穨_2_.PDF 6 7.... 9.. 11.. 12... 14.. 15.... 3 .. 17 18.. 20... 25... 27... 29 30.. 4 31 32 34-35 36-38 39 40 5 6 : 1. 2. 1. 55 (2) 2. : 2.1 2.2 2.3 3. 4. ( ) 5. 6. ( ) 7. ( ) 8. ( ) 9. ( ) 10. 7 ( ) 1. 2. 3. 4.

More information

女性减肥健身(四).doc

女性减肥健身(四).doc ...1...2...3...4...6...7...8...10... 11...14...16...17...23...25...26...28...30...30 I ...31 10...33...36...39...40...42...44...47...49...53...53 TOP10...55...58...61...64...65...66...68...69...72...73

More information

Microsoft Word - 口試本封面.doc

Microsoft Word - 口試本封面.doc 國 立 屏 東 教 育 大 學 客 家 文 化 研 究 所 碩 士 論 文 指 導 教 授 : 劉 明 宗 博 士 台 灣 客 家 俗 諺 中 的 數 詞 研 究 研 究 生 : 謝 淑 援 中 華 民 國 九 十 九 年 六 月 本 論 文 獲 行 政 院 客 家 委 員 會 99 度 客 家 研 究 優 良 博 碩 論 文 獎 助 行 政 院 客 家 委 員 會 獎 助 客 家 研 究 優 良

More information

K7VT2_QIG_v3

K7VT2_QIG_v3 ............ 1 2 3 4 5 [R] : Enter Raid setup utility 6 Press[A]keytocreateRAID RAID Type: JBOD RAID 0 RAID 1: 2 7 RAID 0 Auto Create Manual Create: 2 RAID 0 Block Size: 16K 32K

More information

Microsoft Word - p11.doc

Microsoft Word - p11.doc () 11-1 ()Classification Analysis( ) m() p.d.f prior (decision) (loss function) Bayes Risk for any decision d( ) posterior risk posterior risk Posterior prob. j (uniform prior) where Mahalanobis Distance(M-distance)

More information

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui,

A dissertation for Master s degree Metro Indoor Coverage Systems Analysis And Design Author s Name: Sheng Hailiang speciality: Supervisor:Prof.Li Hui, 中 国 科 学 技 术 大 学 工 程 硕 士 学 位 论 文 地 铁 内 移 动 通 信 室 内 覆 盖 分 析 及 应 用 作 者 姓 名 : 学 科 专 业 : 盛 海 亮 电 子 与 通 信 导 师 姓 名 : 李 辉 副 教 授 赵 红 媛 高 工 完 成 时 间 : 二 八 年 三 月 十 日 University of Science and Technology of Ch A dissertation

More information

untitled

untitled 1993 79 2010 9 80 180,000 (a) (b) 81 20031,230 2009 10,610 43 2003 2009 1,200 1,000 924 1,061 800 717 600 530 440 400 333 200 123 0 2003 2004 2005 2006 2007 2008 2009 500 2003 15,238 2009 31,4532003 2009

More information

bnbqw.PDF

bnbqw.PDF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ( ( 1 2 16 1608 100004 1 ( 2003 2002 6 30 12 31 7 2,768,544 3,140,926 8 29,054,561 40,313,774 9 11,815,996 10,566,353 11 10,007,641 9,052,657 12 4,344,697

More information

Microsoft Word - 發布版---規範_全文_.doc

Microsoft Word - 發布版---規範_全文_.doc 建 築 物 無 障 礙 設 施 設 計 規 範 內 政 部 97 年 4 年 10 日 台 內 營 字 第 0970802190 號 令 訂 定, 自 97 年 7 月 1 日 生 效 內 政 部 97 年 12 年 19 日 台 內 營 字 第 0970809360 號 令 修 正 內 政 部 101 年 11 年 16 日 台 內 營 字 第 1010810415 號 令 修 正 目 錄 第 一

More information

概 述 随 着 中 国 高 等 教 育 数 量 扩 张 目 标 的 逐 步 实 现, 提 高 教 育 质 量 的 重 要 性 日 益 凸 显 发 布 高 校 毕 业 生 就 业 质 量 年 度 报 告, 是 高 等 学 校 建 立 健 全 就 业 状 况 反 馈 机 制 引 导 高 校 优 化 招

概 述 随 着 中 国 高 等 教 育 数 量 扩 张 目 标 的 逐 步 实 现, 提 高 教 育 质 量 的 重 要 性 日 益 凸 显 发 布 高 校 毕 业 生 就 业 质 量 年 度 报 告, 是 高 等 学 校 建 立 健 全 就 业 状 况 反 馈 机 制 引 导 高 校 优 化 招 I 概 述 随 着 中 国 高 等 教 育 数 量 扩 张 目 标 的 逐 步 实 现, 提 高 教 育 质 量 的 重 要 性 日 益 凸 显 发 布 高 校 毕 业 生 就 业 质 量 年 度 报 告, 是 高 等 学 校 建 立 健 全 就 业 状 况 反 馈 机 制 引 导 高 校 优 化 招 生 和 专 业 结 构 改 进 人 才 培 养 模 式 及 时 回 应 社 会 关 切 的 一 项

More information

鱼类丰产养殖技术(二).doc

鱼类丰产养殖技术(二).doc ...1...1...4...15...18...19...24...26...31...35...39...48...57...60...62...66...68...72 I ...73...88...91...92... 100... 104... 144... 146... 146... 147... 148... 148... 148... 149... 149... 150... 151...

More information

疾病诊治实务(一)

疾病诊治实务(一) ...1...4...5...8...13...14...15...18...18...19...22...25...26...27...29...30...32...35 I ...38...42...43...45...48...51...53...56...59...60...60...61...63...65...67...69...72...74...77...80...82...84 II

More information

名人养生.doc

名人养生.doc I...1...3...4...6... 11...14...18...22...26...29...31...38...45...49...56...57...59...61...67 ...72...73...75...77...80...83...85...91...92...93...95...96...97... 103... 107... 109... 110... 112... 118...

More information

<4D6963726F736F667420576F7264202D2040B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8735FA7F5ABD8BFB3B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8732E646F63>

<4D6963726F736F667420576F7264202D2040B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8735FA7F5ABD8BFB3B9C5B871A661B0CFABC8AE61C2A7AB55ACE3A8732E646F63> 嘉 義 地 區 客 家 禮 俗 研 究 第 一 章 前 言 嘉 義 地 區 的 客 家 族 群 約 略 可 分 為 福 佬 客 詔 安 客 與 北 部 客 等 三 種 類 別, 其 分 佈 區 域 以 海 線 地 區 平 原 地 形 沿 山 地 區 為 主 有 相 當 多 的 北 部 客 家 人, 是 二 次 大 戰 末 期 和 戰 後 初 期 才 移 民 嘉 義, 是 什 麼 因 素 令 許 多

More information

05301930

05301930 國 立 中 正 大 學 法 學 系 碩 士 論 文 河 川 砂 石 法 規 範 之 探 討 - 以 採 取 土 石 及 挖 掘 河 川 認 定 基 準 為 主 指 導 教 授 : 盧 映 潔 博 士 研 究 生 : 王 瑞 德 中 華 民 國 一 百 零 一 年 五 月 目 錄 第 一 章 緒 論... 1 第 一 節 研 究 動 機... 1 第 二 節 研 究 目 的... 3 第 三 節 研

More information

中老年保健必读(十).doc

中老年保健必读(十).doc ...1...2...3...4...5...6...8...9... 11 - -...13...15...17...18...20...22...23...25...26...28 I II...30...32...34...35...38...40...42...44...46...47...48...50...52...53 X...55...56...57...58...60...61...63...65

More information

23 29 15.6% 23 29 26.2% 3 25 2 15 1 5 1,542 12,336 14,53 16,165 18,934 22,698 25,125 25 2 15 1 5 5,557 7,48 8,877 11, 13,732 17,283 22,485 23 24 25 26

23 29 15.6% 23 29 26.2% 3 25 2 15 1 5 1,542 12,336 14,53 16,165 18,934 22,698 25,125 25 2 15 1 5 5,557 7,48 8,877 11, 13,732 17,283 22,485 23 24 25 26 4, 197823 2916.3%29 335, 23 29.5% 23 29 16.3% 14 35 33,535 14 135 13 125 1,292 1,3 1,38 1,314 1,321 1,328 1,335 3 25 2 15 1 5 1. 1.1 13,582 15,988 1.4 18,322 11.6 11.9 21,192 24,953 3,67 9. 8.7 12 1 8

More information

海淀区、房山区(四)

海淀区、房山区(四) ...1...1...2...7...8...9... 11... 15... 17... 17... 18... 19... 20... 21... 23... 25... 28... 31... 32 I ... 35... 36... 37... 39... 42... 43... 48... 53... 54... 58... 63... 64... 65... 66... 68... 71...

More information

穨ecr1_c.PDF

穨ecr1_c.PDF i ii iii iv 1 2 3 4 5 5555522 6664422 77722 6 7 8 9 10 11 22266 12833 1894 12 13 14 15 16 17 18 19 20 21 22 23 24 25 8.14 2.15 2.18 26 27 28 29 30 31 2.16 2.18 5.23 32 33 34 35 36 37 38 39 40 41 42 43

More information

穨2005_-c.PDF

穨2005_-c.PDF 2005 10 1 1 1 2 2 3 5 4 6 2 7 3 11 4 1 13 2 13 3 14 4 14 5 15 6 16 7 16 8 17 9 18 10 18 2005 10 1 1. 1.1 2 1.2 / / 1.3 69(2) 70(2) 1.4 1.5 1.6 2005 10 1 2. 2.1 2.2 485 20(8) (a) (i) (ii) (iii) (iv) 571

More information

北京理工大学.doc

北京理工大学.doc ( )...1...6...8...10...20...22...24...28...30...32...40 I ...53...55...61 ( )...62...71...74 ( )...77...81...84...86...88...89...91...92...96...99... 110...111... 112 II ... 113... 114... 115... 116...

More information

尲㐵.⸮⸮⸮⸮⸮

尲㐵.⸮⸮⸮⸮⸮ I...1...2...3...4...5...6...8...9...10... 11...12...13...14...15...16...17...18...19...20...21...22...23...24...26 II...27...28...28...29...30...31...32...34...35...36...37...38...39...39...40...41...43...43...44...45...46...47...48...48...49...50

More information

东城区(下)

东城区(下) ...1...1...2...3...9...9... 12... 12... 17... 17... 18... 19... 20... 29... 31... 37... 41... 70... 73 I ... 74... 78... 78... 79... 80... 85... 86... 88... 90... 90... 90... 92... 93... 95... 95... 96...

More information

果树高产栽培技术(一).doc

果树高产栽培技术(一).doc ( ) ...1...1...3...10... 11...12...15...17...18...19...20...22...23...24...26...27...28...30...31...32 I ...36...38...40...41...42...44...45...47...48...49...50...51...52...53...55...58...59...60...61...62...66...67

More information

物质结构_二_.doc

物质结构_二_.doc I...1...3...6...8 --... 11 --...12 --...13 --...15 --...16 --...18 --...19 --...20 --...22 --...24 --...25 --...26 --...28 --...30 --...32 --...34 --...35 --...37 --...38...40 II...41...44...46...47...48...49...51...52...55...58

More information

第一節 研究動機與目的

第一節 研究動機與目的 中 國 文 化 大 學 中 國 文 學 研 究 所 碩 士 論 文 華 嚴 一 真 法 界 思 想 研 究 指 導 教 授 : 王 俊 彥 研 究 生 : 許 瑞 菁 中 華 民 國 98 年 12 月 自 序 在 佛 教 經 典 中 最 初 接 觸 的 是 佛 說 無 量 壽 經, 此 經 乃 大 方 廣 佛 華 嚴 經 的 精 華 版 綱 要 版 為 了 瞭 解 經 義, 深 知 宇 宙 運

More information

水力发电(九)

水力发电(九) ...1...17...20...26...27...30...33...34...36...37...44...47...49...58...77...79...90...96...107 I ...114...115...132...134...137...138...139...140...142...142...144...146...146...146...148...148...149...149...150...151...151...152

More information

中国古代文学家(八).doc

中国古代文学家(八).doc ...1...5...26...27...43...44...48...50...52...54...55...57...60...61...62...63...65...67...68 I ...69...70...71...75...77...78...82...84...95...98...99... 101... 103... 107... 108... 109... 110...111...

More information

景观植物(一)

景观植物(一) ...1...5...6...8... 11...13...15...18...21...23...26...29...43...51 5...53...58...62...63...65 I ...67...70...72...74...76...77...78...80...81...84...85...87...88...90...92...94...97... 109... 113... 115...

More information

Microsoft Word - 目录.doc

Microsoft Word - 目录.doc 教 学 管 理 文 件 汇 编 目 录 教 育 法 规 和 指 导 性 文 件 1. 中 华 人 民 共 和 国 高 等 教 育 法 1 2. 中 华 人 民 共 和 国 教 师 法 8 3. 普 通 高 等 学 校 学 生 管 理 规 定 12 4. 高 等 学 校 学 生 行 为 准 则 18 5. 中 华 人 民 共 和 国 学 位 条 例 19 6. 高 等 学 校 教 学 管 理 要 点

More information

园林植物卷(三).doc

园林植物卷(三).doc I II III IV 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 84k 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

More information

厨房小知识_一_

厨房小知识_一_ ... 1... 1... 2... 3... 3... 5... 6... 7... 7... 8... 10...11... 12... 13... 15... 17... 18... 19... 19... 20... 23... 24... 24 ... 26... 26... 29... 30... 31... 32... 33... 34... 37... 38... 40... 41...

More information