[parsec-users] PARSEC 3.0: issue with splash2x.raytrace serial version

Joshua Bockenek jabocken at vt.edu
Fri Jan 15 10:17:19 EST 2016


I was attempting to compare the performance of a serialized version of the
splash2x raytrace benchmark with the regular parallel version and
discovered that, while I can successfully build a serial version of the
benchmark and it will run without crashing, it executes much faster than
the parallel version and does not produce an output file when given the
same input as the parallel version. Checking with gprof, it seems that a
significant portion of the involved functions are not being called and the
ones remain appear to have become trivial, as shown below. Is this expected
behavior?

gcc build:
  %   cumulative   self              self     total
 time   seconds   seconds    calls   s/call   s/call  name
 81.12     35.17    35.17 428443748     0.00     0.00  TriPeIntersect
  6.87     38.15     2.98   196454     0.00     0.00
TraverseHierarchyUniform
  4.68     40.18     2.03     7404     0.00     0.00  TriDataNormalize
  4.54     42.15     1.97   127218     0.00     0.00
HuniformShadowIntersect
  0.78     42.49     0.34  1375226     0.00     0.00  next_nonempty_voxel
  0.60     42.75     0.26  1255260     0.00     0.00  push_down_grid
  0.48     42.96     0.21  2474661     0.00     0.00  PolyPeIntersect
  0.39     43.13     0.17  1625622     0.00     0.00  next_nonempty_leaf
  0.23     43.23     0.10   444358     0.00     0.00  init_ray
  0.07     43.26     0.03   854923     0.00     0.00  VecNorm
  0.07     43.29     0.03      225     0.00     0.00  PolyDataNormalize
  0.05     43.31     0.02    96346     0.00     0.00  Shade
  0.02     43.32     0.01  1363570     0.00     0.00  ma_rayinfo
  0.02     43.33     0.01   296081     0.00     0.00  VecMatMult
  0.02     43.34     0.01   211082     0.00     0.00  AddPixelColor
  0.02     43.35     0.01     2356     0.00     0.00  subdiv_bintree
  0.02     43.36     0.01                             next_voxel
  0.00     43.36     0.00   638172     0.00     0.00  free_rayinfo
  0.00     43.36     0.00   513302     0.00     0.00  reset_rayinfo
  0.00     43.36     0.00   340781     0.00     0.00  PushRayTreeStack
  0.00     43.36     0.00   207961     0.00     0.00  TransformViewRay
  0.00     43.36     0.00   201545     0.00     0.00  PopRayTreeStack
  0.00     43.36     0.00   190982     0.00     0.00
ConvertPrimRayJobToRayMsg
  0.00     43.36     0.00    71001     0.00     0.00  TriNormal
  0.00     43.36     0.00    54052     0.00     0.00  NormalizeBoundBox
  0.00     43.36     0.00    53244     0.00     0.00  GlobalMalloc
  0.00     43.36     0.00    51258     0.00     0.00  PolyNormal
  0.00     43.36     0.00     7404     0.00     0.00  TriBoundBox
  0.00     43.36     0.00     7404     0.00     0.00  TriRead
  0.00     43.36     0.00     7404     0.00     0.00  TriTransform
  0.00     43.36     0.00     7045     0.00     0.00  TransmissionDirection
  0.00     43.36     0.00     6446     0.00     0.00  ObjectMalloc
  0.00     43.36     0.00      741     0.00     0.00  deleteBinTree
  0.00     43.36     0.00      225     0.00     0.00  PolyBoundBox
  0.00     43.36     0.00      225     0.00     0.00  PolyRead
  0.00     43.36     0.00      225     0.00     0.00  PolyTransform
  0.00     43.36     0.00      128     0.00     0.00  RunLengthEncode
  0.00     43.36     0.00       46     0.00     0.00  GlobalFree
  0.00     43.36     0.00       44     0.00     0.00  GetJobs
  0.00     43.36     0.00       19     0.00     0.00  create_bintree
  0.00     43.36     0.00        8     0.00     0.00  InitRayTreeStack
  0.00     43.36     0.00        8     0.00     0.00  LocalMalloc
  0.00     43.36     0.00        6     0.00     0.00  InitWorkPool
  0.00     43.36     0.00        5     0.00     8.25  RayTrace
  0.00     43.36     0.00        3     0.00     0.00  MatrixMult
  0.00     43.36     0.00        2     0.00     0.00  MatrixIdentity
  0.00     43.36     0.00        2     0.00     0.00  Translate
  0.00     43.36     0.00        1     0.00     0.00  InitEnv
  0.00     43.36     0.00        1     0.00     0.00  MakeElementArray
  0.00     43.36     0.00        1     0.00     0.00  MatrixCopy
  0.00     43.36     0.00        1     0.00     0.00  MatrixInverse
  0.00     43.36     0.00        1     0.00     0.00  MatrixTranspose
  0.00     43.36     0.00        1     0.00     2.07  NormalizeGeo
  0.00     43.36     0.00        1     0.00     0.00  Scale
  0.00     43.36     0.00        1     0.00     0.01  create_grid
  0.00     43.36     0.00        1     0.00     0.00  init_masks
  0.00     43.36     0.00        1     0.00     0.00  init_world_grid
  0.00     43.36     0.00        1     0.00     0.00  init_world_voxel

gcc-serial build:
  %   cumulative   self              self     total
 time   seconds   seconds    calls  Ts/call  Ts/call  name
  0.00      0.00     0.00   253991     0.00     0.00  VecMatMult
  0.00      0.00     0.00    94377     0.00     0.00  VecNorm
  0.00      0.00     0.00    54052     0.00     0.00  NormalizeBoundBox
  0.00      0.00     0.00    52224     0.00     0.00  GlobalMalloc
  0.00      0.00     0.00     7404     0.00     0.00  TriBoundBox
  0.00      0.00     0.00     7404     0.00     0.00  TriDataNormalize
  0.00      0.00     0.00     7404     0.00     0.00  TriRead
  0.00      0.00     0.00     7404     0.00     0.00  TriTransform
  0.00      0.00     0.00     6446     0.00     0.00  ObjectMalloc
  0.00      0.00     0.00     2356     0.00     0.00  subdiv_bintree
  0.00      0.00     0.00      741     0.00     0.00  deleteBinTree
  0.00      0.00     0.00      225     0.00     0.00  PolyBoundBox
  0.00      0.00     0.00      225     0.00     0.00  PolyDataNormalize
  0.00      0.00     0.00      225     0.00     0.00  PolyRead
  0.00      0.00     0.00      225     0.00     0.00  PolyTransform
  0.00      0.00     0.00       19     0.00     0.00  create_bintree
  0.00      0.00     0.00        3     0.00     0.00  MatrixMult
  0.00      0.00     0.00        2     0.00     0.00  MatrixIdentity
  0.00      0.00     0.00        2     0.00     0.00  Translate
  0.00      0.00     0.00        1     0.00     0.00  InitEnv
  0.00      0.00     0.00        1     0.00     0.00  MakeElementArray
  0.00      0.00     0.00        1     0.00     0.00  MatrixCopy
  0.00      0.00     0.00        1     0.00     0.00  MatrixInverse
  0.00      0.00     0.00        1     0.00     0.00  MatrixTranspose
  0.00      0.00     0.00        1     0.00     0.00  NormalizeGeo
  0.00      0.00     0.00        1     0.00     0.00  Scale
  0.00      0.00     0.00        1     0.00     0.00  create_grid
  0.00      0.00     0.00        1     0.00     0.00  init_masks
  0.00      0.00     0.00        1     0.00     0.00  init_world_grid
  0.00      0.00     0.00        1     0.00     0.00  init_world_voxel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/parsec-users/attachments/20160115/6626762f/attachment.html>


More information about the parsec-users mailing list