Skip to content

Survey Question on the For loop in source file Templates/Day_1/Running_OpenMP/SampleScript/C/code.c line 38 #1

Open
@LChenGit

Description

@LChenGit

Hello Sir/ Madam
We are from a research group at Iowa State University, USA. We want to do a survey on Github developers on the methods they used for paralleling their code. To do the survey, We want to ask three questions about this for loop:

  1. Can you briefly explain the purpose of using pragma for this case? If the pragma contained reduction and private clauses, can you briefly mention the purposes of variables in those clauses?

  2. How much confidence do you have about the correctness of this implementation? You can choose from 1-5 with 1 as the lowest confidence score and 5 as the highest confidence score.

  3. (Optional) Do you actually run (interpret the code with compilation and pass input/get output) the code and see the optimization of parallelization? Yes/No

  • If yes, can you provide the information of what are the input and expected output of this program (the input that caused the program to run through this for-loop).

The for loop is from line 38 of file https:/github.com/hpc2n/OpenMP-Collaboration/blob/master/Templates/Day_1/Running_OpenMP/SampleScript/C/code.c
Here is a part of the code:

omp parallel for default(none) private(xpos, ypos) reduction(+:integral) schedule(static,250)
#include <stdio.h>
#include "omp.h"
#include <math.h>

// parameters N and h
#define NSIZE 44800
#define STEPSIZE 0.0002

int main()
{

double xpos, ypos;
double integral=0.0;
int numThreads;

// Query the number of threads
// A master construct would be a more elegant solution here
#ifdef _OPENMP
#pragma omp parallel default(none) shared(numThreads)
{
if (omp_get_thread_num() == 0 )
{
numThreads = omp_get_num_threads();
}
}
#else
numThreads = 1;
#endif

// s

Sincerely thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions