OCCA: A unified approach to multi-threading languages
نویسندگان
چکیده
The inability to predict lasting languages and architectures led us to develop occa, a C++ library focused on host-device interaction. Using run-time compilation and macro expansions, the result is a novel single kernel language that expands to multiple threading languages. Currently, occa supports device kernel expansions for the OpenMP, OpenCL, and CUDA platforms. Computational results using finite difference, spectral element and discontinuous Galerkin methods show occa delivers portable high performance in different architectures and platforms.
منابع مشابه
Efficient parallelization of the genetic algorithm solution of traveling salesman problem on multi-core and many-core systems
Efficient parallelization of genetic algorithms (GAs) on state-of-the-art multi-threading or many-threading platforms is a challenge due to the difficulty of schedulation of hardware resources regarding the concurrency of threads. In this paper, for resolving the problem, a novel method is proposed, which parallelizes the GA by designing three concurrent kernels, each of which running some depe...
متن کاملUsing templates to handle multi-threading
Neither C++ nor the standard library include any support for multi-threading or multi-processing. Some other languages provide native support for parallelism but C++ programmers are thrown back on operating system specific support. However, OS support offers little in the way of abstraction for thread creation, termination, critical sections and so on. Abstracting these mechanisms to make the d...
متن کاملOptimal Locating and Sizing of Unified Power Quality Conditioner- phase Angle Control for Reactive Power Compensation in Radial Distribution Network with Wind Generation
In this article, a multi-objective planning is demonstrated for reactive power compensation in radial distribution networks with wind generation via unified power quality conditioner (UPQC). UPQC model, based on phase angle control (PAC), is used. In presented method, optimal locating of UPQC-PAC is done by simultaneous minimizing of objective functions such as: grid power loss, percentage of n...
متن کاملConcurrent Programming Constructs and First-Class Logic Engines
Multi-threading has been adopted in today’s Prolog implementations as it became widely available in implementation languages like C or Java. An advantage of multi-threading over more declarative concurrency models like various AND-parallel and OR-parallel execution schemes, is that it maps to the underlying hardware directly: on typical multi-core machines threads and processes are mapped to di...
متن کاملHigh-Order Finite-differences on multi-threaded architectures using OCCA
High-order finite-difference methods are commonly used in wave propagators for industrial subsurface imaging algorithms. Computational aspects of the reduced linear elastic vertical transversely isotropic propagator are considered. Thread parallel algorithms suitable for implementing this propagator on multi-core and many-core processing devices are introduced. Portability is addressed through ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1403.0968 شماره
صفحات -
تاریخ انتشار 2014