1 Reply Latest reply on Mar 31, 2011 12:09 AM by troeger

    A basic question on SPMD programming model




      I am working on the RCCE emulator. The emulator uses OpenMP to multithread the application which is to be run (i.e RCCE_APP). Here all the threads share the same code segment of RCCE_APP. My question is in actual SCC chip, how does this application run? Does all cores share a single copy of program in off chip shared memory? or every chip has the copy of same program in its private memory and run them from there?(but in this case more memory is wasted due to redundant code). Please let me know.




        • 1. Re: A basic question on SPMD programming model

          The latter is correct - the current operation mode of the SCC system is to act as 'cluster on a chip', meaning that you get 48 Linux instances with a (very very fast) network interconnect. By default, each instance works in its own private region of the global memory. If you have some larger read-only data part in your application, you could put it into a shared memory region (configured through the LUTs) accessible from all cores. The executable data itself should normally never exceed a couple of megabytes, and therefore does not really count.


          By the way, the programming model (SPMD) does not mandate any kind of execution model. There are OpenMP implementations out there which support the execution on a 'share-nothing' architecture as the current SCC setup.