InfoQ Homepage Parallel Programming Content on InfoQ
-
The One Billion Row Challenge Shows That Java Can Process a One Billion Rows File in Two Seconds
On the first day of 2024, Gunnar Morling, Senior Staff Software Engineer at Decodable, launched The One Billion Row Challenge (1BRC) to the Java Community. This ongoing challenge will run until the end of January and aims to find Java code that processes one billion rows in the fastest time. Until now, the podium contained algorithms that finished the processing in under 2.5 seconds.
-
OCaml 5 Brings Support for Concurrency and Shared Memory Parallelism
Several years in the making, OCaml 5 introduces runtime support for shared memory parallelism and effect handlers, which are the basis for exception handling, concurrency, async I/O, and more.
-
Intel Loihi 2 and Lava Framework Aim to Advance Neuromorphic Computing Research
Intel introduced its second-generation neuromorphic chip, Loihi 2, with the aim to provide tools for research in the field of neuromorphic computing. In addition, Intel has released Lava, a software framework to build neuromorphic apps both on conventional and neuromorphic hardware.
-
OCaml 5 Will Include Multicore Support
The OCaml team has announced a detailed roadmap to add multicore support to the language runtime and will focus on merging the multicore and standard runtimes in the next minor releases leading to OCaml 5.
-
TCMalloc, Google's Customized Memory Allocator for C and C++, Now Open Source
Google's TCMalloc can be used as a replacement for C and C++ default memory allocators to provide greater efficiency at scale and better support for parallelism, says Google.
-
Google's V8 Engine Adds Support for WebAssembly SIMD
The WebAssembly SIMD proposal has come to Google JavaScript engine V8, albeit still as an experimental feature. Exploiting data parallelism, V8 support for SIMD (Single instruction, multiple data) aims to accelerate compute intensive tasks like audio/video processing, machine learning, and more.
-
Intel Working on New Data Parallel C++
Announced at its Software Technology Day in London, Intel new Data Parallel C++ aims to provide a unified, cross-industry, single-source language to program heterogeneous architectures.
-
MIT Extended LLVM IR to Enable Better Optimization of Parallel Programs
Researchers at MIT have been working on a fork of LLVM to explore a new approach to optimizing parallel code by embedding fork-join parallelism directly into the compiler’s intermediate representation (IR). This, the researchers maintain, makes it possible to leverage most of the IR-level serial optimizations for parallel programs.
-
Mozilla's Servo Browser Now Available Nightly
The Servo browser, built from scratch by Mozilla Research, has matured to the point where nightly builds are available for download. The group hopes to broaden the browser's reach so that they can quickly improve its web compatibility and performance.
-
Gil Tene: Understanding Hardware Transactional Memory
In his presentation "Understanding Hardware Transactional Memory" at QCon New York 2016, Gil Tene introduces hardware transactional memory (HTM). Whereas the concept of HTM is not new, it is now finally available in commodity hardware. The purpose of HTM is to be able to write to multiple addresses in memory in an atomical way so that there cannot be inconsistencies in cooperation other threads.
-
GCC 6.1 Brings New C++17 Features, Full Support for OpenMP, Improves OpenACC
Version 6.1 is the first major GCC release in about one year. It contains substantial new functionality, says GCC maintainer Jakub Jelinek, including new C++17 features, full support for OpenMP, and improved support for OpenACC.
-
IronFleet: A Methodology for Proving Distributed Systems
A group of researchers from Microsoft has published the paper “IronFleet: Proving Practical Distributed Systems Correct” (PDF) and made available the accompanying source code demonstrating the use of the methodology in machine proving the correctness of a non-trivial distributed system from a safety and liveliness point of view.
-
GameAnalytics Open-Source Erlang Scheduler for Distributed Tasks
GameAnalytics, maker of a free analytics platform, has recently open sourced gascheduler an Erlang library that provides a generic scheduler for parallel execution of distributed tasks. InfoQ has spoken to Chris de Vries, one of gascheduler’s creators.
-
A Task Parallel Library for Object Pascal and C++
A major feature of RAD Studio XE7 is its Parallel Programming Library. XE7 brings task-based parallelism to a variety of platforms including Windows, OS X, iOS, and Android. Unlike Mono, this tool-chain offers fully native applications on all target platforms.
-
HSA Foundation Targeting Heterogeneous GPU-CPU Execution for Java Virtual Machines by 2015
Speaking at the Hot Chips Conference, HSA Foundation president Phil Rogers has provided more details on plans to bring GPU acceleration to Java in time for Java 9 in 2015.