  In this paper we evaluate the performance of Unified Parallel C (which
implements the partitioned global address space programming model) using a
numerical method that is widely used in fluid dynamics. In order to evaluate
the incremental approach to parallelization (which is possible with UPC) and
its performance characteristics, we implement different levels of optimization
of the UPC code and compare it with an MPI parallelization on four different
clusters of the Austrian HPC infrastructure (LEO3, LEO3E, VSC2, VSC3) and on an
Intel Xeon Phi. We find that UPC is significantly easier to develop in compared
to MPI and that the performance achieved is comparable to MPI in most
situations. The obtained results show worse performance (on VSC2), competitive
performance (on LEO3, LEO3E and VSC3), and superior performance (on the Intel
Xeon Phi).
