• Multi-thread

    Parallel loops in the AltaLux kernel

    The AltaLux plugin for IrfanView is now open-source (here is the GitHub link) and it is worth analyzing the different methods used for parallelizing the computational kernel. The filter factory, contained in the CAltaLuxFilterFactory files, can create one of four possible instance types (actually there’s a fifth one that you…

  • Multi-thread

    Further multi-thread processing with Delphi

    In a previous article named “Easy multi-thread programming Delphi“, the AsyncCalls library was used to process multiple images at the same time. However, the processing of every single image was still strictly serial, even if image processing kernels are quite easy to accelerate spreading the load over multiple threads. In…

  • Multi-thread

    Easy multi-thread programming with Delphi

    In the AltaPixShare software app, when the user drags a group of images to the target location, the following code iterates over the list of images, and for each image creates the destination file: {CODE brush: delphi; ruler: true;}for i := 0 to Pred(ActiveImages.Count) do begin try CurrentImage := TProcessedImage(ActiveImages[i]);…

  • Multi-thread

    Multi-thread loops with Intel TBB

    A new article about using Intel TBB is here. It contains examples using C++ lambdas and joining multi-threaded loops with SIMD code In this article we will transform a plain C loop into a multi-threaded version using Intel Thread Building Blocks library (TBB). Here is the loop to transform: {CODE…