%  Created by MIDAS Team on 2011-03-29.
%  Copyright (c) 2011. All rights reserved.

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{RR} 
\usepackage[utf8]{inputenc} % Use utf-8 encoding for foreign characters
\usepackage[a4paper, left=2.3cm,top=2.3cm,right=2.3cm,bottom=2.3cm]{geometry}


\usepackage[pdftex]{graphicx} %%Grafiken in pdfLaTeX

\usepackage[colorlinks]{hyperref}
\hypersetup{
	linkcolor =  black,     % color of internal links
	citecolor =  black,     % color of links to bibliography
	filecolor =  red,       % color of file links
	urlcolor  =  black      % color of external links} 
} 

\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsxtra}
\usepackage{geometry}
\usepackage{lipsum}
\usepackage{listings}
\usepackage{setspace}
\usepackage{subfigure}

% Multipart figures
% \usepackage{latexsym}
% \usepackage{listings}
% \usepackage{minitoc}

\usepackage{bm}
\usepackage{algorithmic}
\usepackage[ruled]{algorithm}

\usepackage{mathtools}
\usepackage{float}


% Some definitions

\def\aalm{{$\bm{a}_{\ell m}$}}
\def\blm{{$\bm{\beta}_{\ell m}$}}
\def\miu{{$\bm{\mu}_{m}$}}

\def\s2hat{{\sc s$^2$hat}}

\def\s2hat{{\sc s$^2$hat}}
\def\alm2map{{\tt alm2map}}
\def\map2alm{{\tt map2alm}}

\def\M{{$\cal M$}}
\def\L{{$\cal L$}}

\def\deltam{{$\bm{\Delta}_{m}\ $}}

\def\apjl{ApJ}%
\def\apj{ApJ}%

\def\l#1{\left#1}
\def\r#1{\right#1}
\def\simlt{\lower.5ex\hbox{$\; \buildrel < \over \sim \;$}}
\def\simgt{\lower.5ex\hbox{$\; \buildrel > \over \sim \;$}}

\usepackage{bm}

\RRtitle{Parallel Spherical Harmonic Transforms \\ on heterogeneous architectures \\ (GPUs/multi-core CPUs)}
\RRetitle{Parallel Spherical Harmonic Transforms \\ on heterogeneous architectures \\ (GPUs/multi-core CPUs)}

\titlehead{Parallel Spherical Harmonic Transforms on heterogeneous architectures}

\RRNo{7635}

\RRauthor{{Mikolaj SZYDLARSKI} \thanks{INRIA Saclay-\^Ile de France, F-91893 Orsay, France ({\tt mikolaj.szydlarski@inria.fr}). } 
\and{Pierre ESTERIE}
\thanks{Laboratoire de Recherche en Informatique, Bat 490, Universit\'e Paris-Sud 11, France ({\tt pierre.esterie@lri.fr }). }
\and{Joel FALCOU}
\thanks{Laboratoire de Recherche en Informatique, Bat 490, Universit\'e Paris-Sud 11, France ({\tt joel.falcou@lri.fr }). } 
\and{Laura GRIGORI}
\thanks{INRIA Saclay-Ile de France, Bat 490, Universit\'e Paris-Sud 11, France ({\tt laura.grigori@inria.fr}). }
\and{Radek STOMPOR}
\thanks{CNRS, Laboratoire Astroparticule et Cosmologie, Universit\'e Paris Diderot, France ({\tt radek@apc.univ-paris7.fr }).   } 
}
          
\authorhead{M. Szydlarski et al.}
\RRdate{15 May 2012}
\RRabstract{
	Spherical Harmonic Transforms (SHT) are at the heart of many scientific and practical applications ranging from  climate modelling to cosmological observations. In many of these areas new, cutting-edge science goals have been recently proposed requiring simulations and analyses of experimental or observational data at very high resolutions and of unprecedented volumes. Both these aspects pose formid\-able challenge for the currently existing implementations of the transforms.
	
	This paper describes parallel algorithms for computing the SHTs with two variants of intra-node parallelism appropriate for novel supercomputer architectures, multi-core processors and Graphic Processing Units (GPU) and discusses their performance tests, alone and embedded within a top-level, MPI-based parallelization layer ported from the S$^2$HAT library, in terms of their accuracy, overall efficiency and scalability. We show that our inverse SHTs with GeForce 400 Series GPUs equipped with latest CUDA architecture ("Fermi") outperforms the state of the art implementation for a multi-core processor executed on a current Intel Core i7-2600K.  
Furthermore, we show that an MPI/CUDA version of the inverse transform run on a cluster of 128 NVIDIA Tesla S1070 is as much as 3 times faster than the hybrid MPI/OpenMP version executed on the same number of quad-core processors Intel Nahalem for problem sizes motivated by our target applications.
For the direct transforms, the performance is however found to be at the best comparable. 
	Here we discuss in detail optimizations of two major steps involved in the transforms calculation, demonstrating how the overall performance efficiency can be obtained,
	and elucidating the sources of the dichotomy between the direct and the inverse operations.
}

% \RRresume{mmmm}

\RRkeyword{Spherical Harmonic Transforms, hybrid architectures, hybrid programming, OpenMP, CUDA, Multi-GPU}
\RRprojet{Grand-large}

% \RRmotcle{keywords in french}
\RRtheme{\THNum}
\URFuturs
\RCSaclay

\begin{document}
\makeRR	

% \newenvironment{indenteddescription}%
% 	{\begin{list}{}{\setlength{\labelwidth}{0pt}
% 	\setlength{\itemindent}{-\leftmargin}
% 	\setlength{\listparindent}{\parindent}
% 	\renewcommand{\makelabel}{\descriptionlabel}}}%
% {\end{list}}  

% --- Section (seperate files)

\input{sections/introduction.tex}
\input{sections/background.tex}
%\section{Experimental results}\label{sec:experimental_results} % (fold)
\input{sections/experimental.tex}
% \input{sections/results_gpu.tex}
	
% section experimental_results (end)
\input{sections/conclusions.tex}
\input{sections/acknowledgment.tex}

% --- (end) Sections



% --- Bibliography

\bibliographystyle{abbrv}
\bibliography{s2hat_midas}

% --- (end) Bibliography


\end{document}
