开发者

Cite/Reference OpenMP in a Paper [closed]

开发者 https://www.devze.com 2023-03-26 10:41 出处:网络
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
开发者_JS百科

This question does not appear to be about programming within the scope defined in the help center.

Closed 4 years ago.

Improve this question

I am writing a paper and implemented an algorithm using OpenMP. Since Visual Studio directly supports OpenMP, am I required to cite OpenMP in my paper?


I guess you must have decided one way or the other by now, but, for the record, YES, I think you should definitely cite OpenMP, by citing the specification document for the version you are using. For instance, if you are using OpenMP 3.0 (2008), your BibTeX entry would look like this:

@misc{ openmp08,
    author = {{OpenMP Architecture Review Board}},
    title = {{OpenMP} Application Program Interface Version 3.0},
    month = may,
    year = 2008,
    url = {http://www.openmp.org/mp-documents/spec30.pdf}
}


Bibtex entry for the paper (Dagum, Leonardo, and Ramesh Menon. "OpenMP: an industry standard API for shared-memory programming.") mentioned by Ame is:

@article{dagum1998openmp,
    Author = {Dagum, Leonardo and Menon, Ramesh},
    Date-Added = {2014-07-24 11:13:01 +0000},
    Date-Modified = {2014-07-24 11:13:01 +0000},
    Journal = {Computational Science \& Engineering, IEEE},
    Number = {1},
    Pages = {46--55},
    Publisher = {IEEE},
    Title = {OpenMP: an industry standard API for shared-memory programming},
    Volume = {5},
    Year = {1998}}

This is the paper that is normally cited for OpenMP as a concept.


I would cite it if only for clarity about the version used, and to point the reader to more information. My suggestion would be to cite the API reference for the OpenMP specification of the appropriate version, using whatever style your journal uses for citing manuals or technical reports.

If you don't know what version of OpenMP you are using, the following program:

#include <omp.h>
#include <stdio.h>

int main(int argc, char **argv) {
    printf("OpenMP version: %d\n", _OPENMP);
    return 0;
}

When run like:

$ g++ openmpversion.cpp -fopenmp
$ ./a.out

will report 200505 for 2.5, 200805 for 3.0, and 201307 for 4.0.


Unless you are referring to technical details of a specific API version, you probably want to cite the following paper: Dagum, Leonardo, and Ramesh Menon. "OpenMP: an industry standard API for shared-memory programming." Computational Science & Engineering, IEEE 5.1 (1998): 46-55.


Not sure if you are required to (better ask you lawyer or the one you commit to), but you may refer to the official OpenMP specifications: http://openmp.org/wp/openmp-specifications/

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号