Главная / Программирование /
Introduction to performance optimization using Intel SW tools / Тест 3
Introduction to performance optimization using Intel SW tools - тест 3
Упражнение 1:
Номер 1
What compilers Intel® provides?
Ответ:
 (1) C/C++ 
 (2) Java 
 (3) Oberon 
 (4) Forth 
 (5) Fortran 
 (6) C# 
Номер 2
What platforms are supported by Intel compilers?
Ответ:
 (1) Windows 
 (2) Linux 
 (3) MacOS X 
 (4) FreeBSD 
 (5) Solaris 
Номер 3
What is the functions of the compiler Front End ?
Ответ:
 (1) program translation from source to internal representation 
 (2) scalar optimization 
 (3) code generation 
 (4) linking object files to binary 
 (5) semantical analysis 
Упражнение 2:
Номер 1
Internal representation is
Ответ:
 (1) assembler code 
 (2) graph at the most cases 
 (3) object-file code 
Номер 2
Expression is
Ответ:
 (1) assignment 
 (2) expression tree 
 (3) constant 
 (4) variable 
Номер 3
Choose scalar optimizations
Ответ:
 (1) constant folding 
 (2) copy propagation 
 (3) common subexpressions elimination 
 (4) loop invariant code motion 
Упражнение 3:
Номер 1
Data flow analysis is
Ответ:
 (1) analysis of bus data transfer 
 (2) method to avoid data loading to cache memory 
 (3) collecting information on variable's values 
Номер 2
Set Uses[b]
contains:
Ответ:
 (1) variables, defined inside a block 
 (2) variables used in the block, but have no definitions within the block 
 (3) definitions, that reaches "b" block 
Номер 3
To know what variables could be used inside the block, it is necessary to estimate:
Ответ:
 (1) Uses[b]
 
 (2) Killed[b]
 
 (3) Reaches[b]
 
 (4) Defsout[b]
 
Упражнение 4:
Номер 1
SSA-form is
Ответ:
 (1) representation where each function executed only once 
 (2) representation where each variable is used only once 
 (3) representation where each variable is set only once 
 (4) final representation after whole set of optimizations 
Номер 2
Statement M
dominates N
if
Ответ:
 (1) there is a path from M
to N
 
 (2) there is a path from N
to M
 
 (3) any path from M
goes through N
 
 (4) any path to N
goes through M
 
 (5) any path from N
goes through M
 
Номер 3
Dominance frontier is
Ответ:
 (1) bound between dominated and not dominated nodes 
 (2) bound between dominated and dominating nodes 
 (3) a set of nodes, dominated by one 
Упражнение 5:
Номер 1
May one compiler have two different Front Ends?
Ответ:
 (1) no 
 (2) only when both of them for the same language 
 (3) only when Petrov criteria is satisfied 
 (4) only for two, not for three 
 (5) yes 
Номер 2
To convert a compiler to different internal representation
it is necessary to correct
Ответ:
 (1) input data 
 (2) Front End 
 (3) Back End 
 (4) almost all the parts of the compiler 
 (5) only representation itself 
Номер 3
What part of the compiler depends on a language most?
Ответ:
 (1) Front End 
 (2) Back End 
 (3) internal representation 
 (4) code generation 
 (5) profiling 
Упражнение 6:
Номер 1
What is the part of the syntax analysis in the compiler?
Ответ:
 (1) grammar analysis 
 (2) puncting analysis 
 (3) polymorphical analysis 
 (4) lexical analysis 
 (5) protosyntax analysis 
Номер 2
What is the part of the syntax analysis in the compiler?
Ответ:
 (1) sematical analysis 
 (2) denotation analysis 
 (3) prevential analysis 
 (4) singular analysis 
 (5) grammar analysis 
Номер 3
What is input data for syntax analysis?
Ответ:
 (1) resulting syntax 
 (2) BNF-form of the result 
 (3) program source 
 (4) representative data  
 (5) only syntax and nothing else 
Упражнение 7:
Номер 1
What criteria of connecting statements into a list inside Intel compiler
Ответ:
 (1) previous and next 
 (2) minimal work principle 
 (3) next lexem principle 
 (4) equivalence principle 
 (5) principle of non- equivalence  
Номер 2
Statements could be arranged
Ответ:
 (1) lexicographically 
 (2) graphosematically 
 (3) polydinamically 
 (4) semiiterationally 
 (5) semidenotationally 
Номер 3
How the statements are connected inside the Intel compiler
Ответ:
 (1) by the adjacency matrix  
 (2) by Petrov table  
 (3) by data flow graph 
 (4) by denotational semantics 
 (5) none of the answers 
Упражнение 8:
Номер 1
Basic blocks are
Ответ:
 (1) blocks of the visual program constructor 
 (2) code, provides most of equations 
 (3) code without jumps and labels 
 (4) entrance program code 
 (5) entrance function code 
Номер 2
Basic blocks are contained by
Ответ:
 (1) data flow graph 
 (2) base block graph 
 (3) base equations graph 
 (4) equations graph 
 (5) main equations graph 
Номер 3
Basic blocks are
Ответ:
 (1) entrance blocks 
 (2) function signatures 
 (3) function bodies, where the most of the equations are provided 
 (4) body of the main function 
 (5) library header files 
Упражнение 9:
Номер 1
Choose the correct statements
Ответ:
 (1) statement is a minimal independent unit of the programming language 
 (2) program is a sequence of statements 
 (3) variable is minimal statement 
 (4) statements could be arranged lexically and by data flow graph 
 (5) statement is a tree of statements 
 (6) statement consist of the expressions 
Номер 2
Choose the correct statements
Ответ:
 (1) expression is a tree of expressions with ending expression at its leafs 
 (2) every expression has list of predecessors and successors 
 (3) expressions could be arranged lexically and by data flow graph 
 (4) boundary expressions are constants and variables 
 (5) statement consist of the expressions 
Номер 3
Nodes of control flow graph are
Ответ:
 (1) expressions 
 (2) statements 
 (3) basic blocks 
 (4) functions and procedures of the application 
 (5) variables 
Упражнение 10:
Номер 1
Control flow graph
Ответ:
 (1) determines the order of the statements in the source program 
 (2) determines all paths that would be passed during equations 
 (3) determines possible ways of control passing from one block to another 
 (4) determines all possible ways of control passing 
Номер 2
Basic block is
Ответ:
 (1) linear program chunk without jumps and labels 
 (2) a group of sequential instructions 
 (3) instructions with one previous 
 (4) a group of expressions inside one statement 
 (5) group of statements at the algorithm block diagram 
Номер 3
Def-use graph nodes are
Ответ:
 (1) basic blocks, defining and using the same variable 
 (2) statements defining and using the same variable 
 (3) expressions defining and using the same variable 
Упражнение 11:
Номер 1
Tree of expressions is
Ответ:
 (1) paragraph in language manual 
 (2) a short way to define a language syntax 
 (3) short identifier to remind the meaning of the statement 
 (4) equations notation 
 (5) tree with exact lexems at the leafs 
Номер 2
Leafs in expressions tree
Ответ:
 (1) are the same with the other nodes 
 (2) satisfies lexigraphical order 
 (3) must be deleted at generation phase 
 (4) may contain variables 
 (5) not exists 
Номер 3
Constants in expressions tree
Ответ:
 (1) must be hold at leafs 
 (2) not exists 
 (3) could be deleted without any results changing 
 (4) linked to lexigraphical order 
Упражнение 12:
Номер 1
Operations in a expressions tree
Ответ:
 (1) are not exist 
 (2) could not be placed at leafs 
 (3) must be deleted at generation phase 
 (4) must be complete lexems 
Номер 2
The advantages of SSA form:
Ответ:
 (1) program is more compact 
 (2) def-use chains are obvious 
 (3) special intrinsic functions are used 
 (4) co-processor registers are used 
 (5) vector registers are used, that boosts the performance 
Номер 3
SSA-form is:
Ответ:
 (1) ability to access SSE 
 (2) single assignment form 
 (3) special form with MMX instructions 
 (4) formalized vector extension 
Упражнение 13:
Номер 1
SSA is
Ответ:
 (1) SSe Alignment 
 (2) Simple Singles Alignment 
 (3) Static Single Assignment 
 (4) Sign Standard Association 
Номер 2
Choose the scalar optimization:
Ответ:
 (1) excessive branching removal 
 (2) loop invariant code motion 
 (3) interprocedural code motion 
 (4) register coloring 
 (5) high speed inline 
Номер 3
"Dead code" may be caused by
Ответ:
 (1) segmentation fault 
 (2) optimizing transformations 
 (3) execution slowdown 
 (4) usage of long identifier names 
Упражнение 14:
Номер 1
Which of the following is required to keep the equation equivalence
Ответ:
 (1) equivalent input leads to equivalent output 
 (2) instruction scheduling is independent of the input data 
 (3) results obtained in the same order 
 (4) equations use the same processor-dependent instruction set 
Номер 2
Dependency is
Ответ:
 (1) connection between the statements caused by same output value 
 (2) connection between the statements which not allow to change
their executional order 
 (3) connection between the statements caused by same input variables 
 (4) connection between the statements caused by same output variable 
Номер 3
The dependency between S1 and S2 persist if
Ответ:
 (1) statements S1 and S2 modifies the same variable at the same basic block 
 (2) statements S1 and S2 modifies the same variable at different basic blocks 
 (3) basic block of S1 dominates S2 and both of them writes the same memory cell 
 (4) statement S2 is followed by S1 and both of them reads the same variable 
Номер 4
Transforming optimization keeps the equation equivalence if
Ответ:
 (1) optimization do not delete and do not add any code 
 (2) control flow graph is unchanged 
 (3) dependent statements order is unchanged 
 (4) blocks with dependent statements are untouched