![]() |
![]() | |||
|
Group Members
Current Projects
Past Projects
Related Sites
|
APEX-Map V3.0In version 3 of APEX-Map, we implemented a more radical extension, which measures the performance influence of the arrangement and balance of functional units themselves. This allows APEX-Map to measure the computational performance of systems in addition to memory and network performance. The family of inner kernels is based on two new characteristic parameters: C: Computational Intensity and R: Register Pressure in addition to the three parameters used earlier (M: Memory Size, L: Spatial Locality, a: Temporal Locality). Using a code generator we produce different parameterized code segments to generate varying register pressures and computational intensities. In Apex-Map 3.0, we also characterize the loop structure (Nested Loop vs. Fused Loop) and data store effect (Scalar variables vs. Arrays). Following are important parameters and their allowed values (in CAPITAL LETTERS). Failing to provide correct values may cause unexpected program results. MODE: the test purpose of the code--SEQUENTIAL: to test sequential performance --MULTICORE: to test multicore effect (need MPI for synchronization) --PARALLEL: to test parallel performance (not implemented) ACCESS PATTERN: data access pattern --RANDOM: need to define memory size, temporal locality, spatial locality MEMORY SIZE: the memory size SPATIAL LOCALITY: the list of spatial localities --1 -- MEMORY SIZE: could be defined in flexible manner, such as 1, 2, 4, 8-64 (a list starting from 8, ending at 64 in step *4) TEMPORAL LOCALITY: the list of temporal locality --any value between [0,1], such as 0.1, 0.25, 1.0 ALGORITHM: how the loop structure is orchestrated --NESTED: using nested loop --FUSED: using one fused loop INDEX SIZE: the number of indices generated in advance for each test --any number between 1 -- 1 Million REGISTER PRESSURE: to test the performance effect of the number of registers --any positive integer (but it is usually set to a smaller number) COMPUTATIONAL INTENSITY: to test the performance effect of computational intensity --any positive integer (but it is usually set to a smaller number) STORE METHOD: to decide how to store the left size data --ARRAY --SCALAR The following image show the single-processor performance of APEX-Map on a logarithmic scale in MF/s. R stands for register pressure and CI stands for computational intensity. It demonstrates the range of chievable performance values and the influence of these two paramters on a IBM Power platform.
| ||