On 17/08/15 08:24, Vincent Schwarzer wrote:
Nobody knows (yet ;). I'm not intimately familiar with how OpenMP works,
and it's been almost 10 years since I last ran into it at all, but I guess
what you describe could work.
What, specifically, do you want to accomplish? Using a Rumprun unikernel
as the runtime for an OpenMP node on the cloud, or something else?
I want to run different established performance benchmarking tools (e.g.
STREAM) and real world applications used in web application stacks on
Rumprun unikernel. At the end I want to compare the measurement results of
these tools/applications to other platforms (e.g. OSv,Linux Native, Docker,
...) for a recommendation matrix for what kind of workload which platform
is most suitable in a cloud/backend application context. Many of these
application I want to use are utilizing OpenMP to fork new threads for each
core and join the results at the end.
I assume that you have to fetch the sources of the compiler that you're
using and crosscompile libgomp first. I also assume that libgomp is tied
to the compiler version, so not sure how much we can automate that, unless
we provide a default compiler (which has sort of been an explicit no-no in
our design so far -- you should be able to use any compiler you want to
build rump kernels).
What is the difference between x86_64-rumprun-netbsd-gcc in the app-tools
folder and my standard gcc (4.9) on my system which can compile OpenMP
applications, when there is no complier supplied by rumprun itself?