Difference: CS255Spring10ProjectHome (15 vs. 16)

Revision 162010-04-06 - XiaoyaXiang

Line: 1 to 1
 
META TOPICPARENT name="CS255Spring10"
Line: 243 to 243
  Please familiar yourself with OpenMP and more OpenMP examples before you start coding. For the loops which has loop-carried dependence which prevent it from being parallelized automatically, you compiler should never output incorrectly parallelized code.
Changed:
<
<
step #3. Advanced transformations for parallelism ( Competition Part ).
>
>
step #3. Advanced transformations for parallelism ( Competition Part. Extra credit for CS255 students ).
  By now you have a fairly complete grasp of the theories and techniques for dependence elimination at the loop level and working knowledge of URCC compiler. In the last phase of the project you have the freedom to develop creative and effective solutions to parallelize sequential code aggressively. The results from the test programs and (possible) hidden benchmarks will become part of the growing record of the annual compiler competition, so your compiler competes not only with the compiler from your classmates but also the best and brightest from future years. The following example just give you a general idea of how advanced transformations works for parallelism.
Line: 264 to 264
  // then parallelize it as below

int chunk = 10; // here, 10 is just an example value. You do not have to follow this value.

Changed:
<
<
#pragma omp parallel shared(a,b,c,chunk) private(i)
>
>
#pragma omp parallel shared(a,b,c,t,chunk) private(i)
  { #pragma omp for schedule(dynamic,chunk) nowait for (i=0; i < N; i++){
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback