Vax C90-EL SERIES Service Manual Page 86

  • Download
  • Add to my manuals
  • Print
  • Page
    / 216
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 85
Cray Standard C/C++ Reference Manual
Besides executing the vector loop, each processor must execute some loop
overhead code for each chunk of the work.
If you specify the chunksize, numchunks, guided,orvector arguments, the
compiler rewrites the loop as two nested loops. The inner loop becomes a for
loop that processes the iterations in a vector chunk. This inner loop will be
vectorized, subject to the normal rules for vectorization of loops. The outer loop
becomes tasking overhead code that processes each of the chunks.
Usually, when you specify the ivdep directive prior to the taskloop directive
the ivdep is applied to the original, unitasked version of the loop. When the
ivdep directive appears prior to a taskloop directive containing a chunksize,
numchunks, guided,orvector argument, the inner for loops (as previously
described) in both the master and slave code and the original, unitasked version
of the loop are treated as though the ivdep directive had been specified prior
to these loops.
3.8.1.4 Vectorization Messages and Tasking
When vectorization messages are enabled by specification of the -h report=v
option on the cc command line, information is provided regarding all loops
in the master, slave, and unitasked versions of the tasked loop. In the master
code and slave function, the tasked loop no longer appears as a loop; thus, no
vectorization messages are generated. However, the original loop is unaltered in
the unitasked code, and a vectorization message will appear for the loop. Any
loops inside a tasked loop produce a vectorization message for each occurrence
in the master, slave, and unitasked versions of the tasked loop. The loops
generated from stripmining (see Section 3.8.1.3, page 65) also cause vectorization
messages to be generated.
The line numbers shown in the vectorization messages for loops in the tasked
code are the line numbers corresponding to the equivalent loop in the original
code, with the m suffix for messages from the master code and an s suffix for
messages from the slave code. Line numbers for messages from the unitasked
code have no suffix.
3.8.1.5 Reserved Semaphores and Shared Registers
Because the following semaphores and shared registers are used by tasking on
Cray PVP systems, you must not use them in your program:
Semaphore registers 0-15
Shared B registers 0-3
66 S217936
Page view 85
1 2 ... 81 82 83 84 85 86 87 88 89 90 91 ... 215 216

Comments to this Manuals

No comments