Analyse

Wie wijst de programmeur de weg in het multicoremoeras?

Pieter Edelman
Reading time: 7 minutes

Betekende multicore een paar jaar geleden nog dat de programmeur min of meer op de oude voet verder kon met twee of vier dezelfde cores, tegenwoordig moet hij ook rekening houden met DSP‘s, GPU‘s en zelfs FPGA‘s. Voorstellen zat hoe hij daarmee om moet gaan, maar dé oplossing is er nog niet bij.

OpenCL, OpenACC, OpenMP, OpenMPI, OpenHMPP, C++ AMP, PThreads, Renderscript, Threading Building Blocks, Array Building Blocks, ISPC, Go, Cilk (Plus), Cuda, Directcompute, Erlang, HSAIL, WebCL … Ziet u door de bomen het bos nog? Dit lijstje is een greep uit de vele aanpakken die een oplossing moeten leveren voor het programmeren van multicore processoren. Er zijn er nog veel meer.

Het illustreert mooi de worsteling die de industrie heeft met multicore. Of liever gezegd: met het efficiënt parallelliseren van code, iets wat in één adem wordt genoemd met multicore, maar feitelijk breder is. Dat vraagstuk is wellicht al zo oud als de informatica zelf en zeker ’aan de randen‘ van het vakgebied zoals in embedded systemen en supercomputers welbekend. Vanaf halverwege het vorige decennium is het echter een mainstream onderwerp geworden waar steeds meer programmeurs mee te maken krijgen. En de situatie wordt er alleen maar ingewikkelder op.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one and enjoy all the benefits.

Login

Related content