Your cart is currently empty!
Wie wijst de programmeur de weg in het multicoremoeras?
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.