Ada beberapa model pemrograman paralel yang digunakan untuk mengembangkan aplikasi paralel, termasuk model memori bersama, thread, message passing, data paralel, dan hybrid. Model ini tidak spesifik untuk jenis arsitektur tertentu, melainkan merupakan abstraksi dari arsitektur perangkat keras dan memori. Contohnya adalah penggunaan message passing pada mesin memori bersama.