3 – Using InfiniPath MPI Debugging MPI Programs

Q

may be desirable to run multiple MPI processes and multiple OpenMP threads per node.

The number of OpenMP threads is typically controlled by the

OMP_NUM_THREADS environment variable in the .mpirunrc file. This may be used to adjust the split between MPI processes and OpenMP threads. Usually the number of MPI processes (per node) times the number of OpenMP threads will be set to match the number of CPUs per node. An example case would be a node with 4 CPUs, running 1 MPI process and 4 OpenMP threads. In this case, OMP_NUM_THREADS is set to 4. OMP_NUM_THREADS is on a per-node basis.

See the section 3.5.8 for information on setting environment variables.

The MPI_THREAD_SERIALIZED and MPI_THREAD_MULTIPLE models are not yet supported.

NOTE: If there are more threads than CPUs, then both MPI and OpenMP performance can be significantly degraded due to over-subscription of the CPUs.

3.11

Debugging MPI Programs

Debugging parallel programs is substantially more difficult than debugging serial programs. Thoroughly debugging the serial parts of your code before parallelizing is good programming practice.

3.11.1

MPI Errors

Almost all MPI routines (except MPI_Wtime and MPI_Wtick) return an error code; as the function return value in C functions or as the last argument in a Fortran subroutine call. Before the value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job. Therefore you can get information about MPI exceptions in your code by providing your own handler for MPI_ERRORS_RETURN. See the man page for MPI_Errhandler_set for details.

NOTE: MPI does not guarantee that an MPI program can continue past an error.

See the standard MPI documentation referenced in appendix D for details on the MPI error codes.

3.11.2

Using Debuggers

The InfiniPath software supports the use of multiple debuggers, including pathdb, gdb, and the system call tracing utility strace. These debuggers let you set breakpoints in a running program, and examine and set its variables.

3-20

IB6054601-00 D

Page 62
Image 62
Q-Logic IB6054601-00 D manual Debugging MPI Programs, MPI Errors, Using Debuggers

IB6054601-00 D specifications

The Q-Logic IB6054601-00 D is a high-performance InfiniBand adapter card designed for data centers and enterprise applications requiring robust connectivity and low-latency communication. This adapter is part of QLogic's extensive portfolio of networking solutions, catering to the needs of high-performance computing (HPC), cloud computing, and virtualization environments.

One of the standout features of the IB6054601-00 D is its capability to support data transfer rates of up to 56 Gbps. This makes it ideal for applications demanding large bandwidth and quick data processing. The adapter is optimized for RDMA (Remote Direct Memory Access) technology, which allows data to be transferred directly between the memory of different computers without involving the CPU. This reduces latency and CPU overhead, leading to enhanced overall system performance.

The architecture of the IB6054601-00 D includes support for a dual-port design, which offers increased bandwidth, redundancy, and fault tolerance. This dual-port configuration is especially advantageous for environments that require high availability and reliability, such as financial services and mission-critical applications.

The adapter utilizes advanced error detection and correction mechanisms, ensuring that data integrity is maintained during transmission. With features like adaptive routing and congestion management, the IB6054601-00 D is capable of optimizing the handling of data flows, thereby enhancing performance even under heavy loads.

In terms of compatibility, the Q-Logic IB6054601-00 D supports a wide range of operating systems and virtualization technologies, making it easy to integrate into diverse IT environments. It also includes drivers and software packages that facilitate seamless deployment and management.

In addition to high-speed connectivity, the adapter is designed with power efficiency in mind. It adheres to Energy Star regulations, helping organizations lower their operational costs while minimizing their environmental footprint.

Overall, the Q-Logic IB6054601-00 D stands out for its high throughput, low latency, and reliability. Its combination of advanced features and technologies positions it as an excellent choice for organizations looking to enhance their data center performance and maximize the efficiency of their network infrastructure. With the growing demands for faster and more efficient data transfer, solutions like the IB6054601-00 D are essential in meeting the evolving needs of modern enterprises.