Concurrent computing: Difference between revisions
Content added Content deleted
m (Removed output as defined by task, removed version info as should be latest version.) |
m (Removed output as specified by task, removed comments as language is clear enough.) |
||
Line 50: | Line 50: | ||
{{libheader|gomp}} |
{{libheader|gomp}} |
||
{{works with|OpenMP}} |
{{works with|OpenMP}} |
||
⚫ | |||
BaCon is a BASIC-to-C compiler. Assuming GCC compiler in this demonstration. Based on the C OpenMP source. |
|||
<lang freebasic>' Concurrent computing using the OpenMP extension in GCC. Requires BaCon 3.6 or higher. |
|||
' Specify compiler flag |
|||
⚫ | |||
' Sepcify linker flag |
|||
PRAGMA LDFLAGS -lgomp |
PRAGMA LDFLAGS -lgomp |
||
' Declare array with text |
|||
DECLARE str$[] = { "Enjoy", "Rosetta", "Code" } |
DECLARE str$[] = { "Enjoy", "Rosetta", "Code" } |
||
' Indicate MP optimization for FOR loop |
|||
PRAGMA omp parallel for num_threads(3) |
PRAGMA omp parallel for num_threads(3) |
||
' The actual FOR loop |
|||
FOR i = 0 TO 2 |
FOR i = 0 TO 2 |
||
PRINT str$[i] |
PRINT str$[i] |
||
NEXT |
NEXT</lang> |
||
</lang> |
|||
{{out}} |
|||
<pre>prompt$ bacon concurrent-computing |
|||
Converting 'concurrent-computing.bac'... done, 11 lines were processed in 0.002 seconds. |
|||
Compiling 'concurrent-computing.bac'... cc -fopenmp -c concurrent-computing.bac.c |
|||
cc -o concurrent-computing concurrent-computing.bac.o -lbacon -lm -lgomp |
|||
Done, program 'concurrent-computing' ready. |
|||
prompt$ ./concurrent-computing |
|||
Code |
|||
Enjoy |
|||
Rosetta</pre> |
|||
=={{header|BBC BASIC}}== |
=={{header|BBC BASIC}}== |