bones-compiler 1.1.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/CHANGELOG +37 -0
- data/LICENSE +1 -1
- data/README.rdoc +95 -70
- data/Rakefile +78 -3
- data/VERSION +1 -1
- data/bin/adarwin +17 -0
- data/examples/benchmarks/PolyBench/2mm.c +104 -0
- data/examples/benchmarks/{3mm.c → PolyBench/3mm.c} +5 -2
- data/examples/benchmarks/{adi.c → PolyBench/adi.c} +6 -3
- data/examples/benchmarks/{atax.c → PolyBench/atax.c} +5 -2
- data/examples/benchmarks/{bicg.c → PolyBench/bicg.c} +5 -2
- data/examples/benchmarks/{cholesky.c → PolyBench/cholesky.c} +3 -0
- data/examples/benchmarks/{common.h → PolyBench/common.h} +2 -2
- data/examples/benchmarks/{correlation.c → PolyBench/correlation.c} +16 -7
- data/examples/benchmarks/{covariance.c → PolyBench/covariance.c} +7 -2
- data/examples/benchmarks/{doitgen.c → PolyBench/doitgen.c} +5 -2
- data/examples/benchmarks/{durbin.c → PolyBench/durbin.c} +3 -0
- data/examples/benchmarks/{dynprog.c → PolyBench/dynprog.c} +3 -0
- data/examples/benchmarks/{fdtd-2d-apml.c → PolyBench/fdtd-2d-apml.c} +3 -0
- data/examples/benchmarks/{fdtd-2d.c → PolyBench/fdtd-2d.c} +5 -2
- data/examples/benchmarks/{floyd-warshall.c → PolyBench/floyd-warshall.c} +3 -0
- data/examples/benchmarks/{gemm.c → PolyBench/gemm.c} +5 -2
- data/examples/benchmarks/{gemver.c → PolyBench/gemver.c} +5 -2
- data/examples/benchmarks/{gesummv.c → PolyBench/gesummv.c} +5 -2
- data/examples/benchmarks/{gramschmidt.c → PolyBench/gramschmidt.c} +3 -0
- data/examples/benchmarks/{jacobi-1d-imper.c → PolyBench/jacobi-1d-imper.c} +10 -2
- data/examples/benchmarks/{jacobi-2d-imper.c → PolyBench/jacobi-2d-imper.c} +8 -3
- data/examples/benchmarks/{lu.c → PolyBench/lu.c} +3 -0
- data/examples/benchmarks/{ludcmp.c → PolyBench/ludcmp.c} +3 -0
- data/examples/benchmarks/{mvt.c → PolyBench/mvt.c} +6 -2
- data/examples/benchmarks/{reg_detect.c → PolyBench/reg_detect.c} +3 -0
- data/examples/benchmarks/{seidel-2d.c → PolyBench/seidel-2d.c} +3 -0
- data/examples/benchmarks/{symm.c → PolyBench/symm.c} +3 -0
- data/examples/benchmarks/{syr2k.c → PolyBench/syr2k.c} +5 -2
- data/examples/benchmarks/{syrk.c → PolyBench/syrk.c} +7 -4
- data/examples/benchmarks/{trisolv.c → PolyBench/trisolv.c} +3 -0
- data/examples/benchmarks/{trmm.c → PolyBench/trmm.c} +3 -0
- data/examples/benchmarks/Rodinia/cfd.c +180 -0
- data/examples/benchmarks/Rodinia/hotspot.c +228 -0
- data/examples/benchmarks/Rodinia/kmeans.c +164 -0
- data/examples/benchmarks/Rodinia/srad.c +188 -0
- data/examples/benchmarks/other/common.h +0 -0
- data/examples/benchmarks/other/dct.c +58 -0
- data/examples/benchmarks/other/mm.c +50 -0
- data/examples/benchmarks/{saxpy.c → other/saxpy.c} +11 -7
- data/examples/chunk/{example1.c → example01.c} +0 -0
- data/examples/chunk/{example2.c → example02.c} +0 -0
- data/examples/chunk/{example3.c → example03.c} +0 -0
- data/examples/chunk/{example4.c → example04.c} +0 -0
- data/examples/chunk/{example5.c → example05.c} +0 -0
- data/examples/chunk/example06.c +45 -0
- data/examples/chunk/example07.c +49 -0
- data/examples/dependences/example01.c +42 -0
- data/examples/dependences/example02.c +40 -0
- data/examples/dependences/example03.c +43 -0
- data/examples/dependences/example04.c +44 -0
- data/examples/dependences/example05.c +42 -0
- data/examples/element/{example1.c → example01.c} +0 -0
- data/examples/element/{example2.c → example02.c} +2 -2
- data/examples/element/{example3.c → example03.c} +0 -0
- data/examples/element/{example4.c → example04.c} +0 -0
- data/examples/element/{example5.c → example05.c} +0 -0
- data/examples/element/{example6.c → example06.c} +0 -0
- data/examples/element/{example7.c → example07.c} +0 -0
- data/examples/element/{example8.c → example08.c} +0 -0
- data/examples/element/{example9.c → example09.c} +0 -0
- data/examples/element/example13.c +73 -0
- data/examples/fusion/example01.c +68 -0
- data/examples/fusion/example02.c +73 -0
- data/examples/fusion/example03.c +72 -0
- data/examples/fusion/example04.c +61 -0
- data/examples/fusion/example05.c +55 -0
- data/examples/neighbourhood/{example1.c → example01.c} +0 -0
- data/examples/neighbourhood/{example2.c → example02.c} +0 -0
- data/examples/neighbourhood/{example3.c → example03.c} +0 -0
- data/examples/neighbourhood/{example4.c → example04.c} +0 -0
- data/examples/neighbourhood/example05.c +44 -0
- data/examples/shared/{example1.c → example01.c} +0 -0
- data/examples/shared/{example2.c → example02.c} +0 -0
- data/examples/shared/{example3.c → example03.c} +0 -0
- data/examples/shared/{example4.c → example04.c} +0 -0
- data/examples/shared/{example5.c → example05.c} +0 -0
- data/lib/adarwin.rb +62 -0
- data/lib/adarwin/dependences.rb +268 -0
- data/lib/adarwin/engine.rb +277 -0
- data/lib/adarwin/fusion.rb +174 -0
- data/lib/adarwin/interval.rb +57 -0
- data/lib/adarwin/memorycopies.rb +153 -0
- data/lib/adarwin/nest.rb +225 -0
- data/lib/adarwin/preprocessor.rb +76 -0
- data/lib/adarwin/reference.rb +261 -0
- data/lib/bones.rb +4 -55
- data/lib/bones/algorithm.rb +77 -40
- data/lib/bones/copy.rb +26 -0
- data/lib/bones/engine.rb +147 -31
- data/lib/bones/preprocessor.rb +92 -12
- data/lib/bones/species.rb +4 -3
- data/lib/bones/structure.rb +14 -4
- data/lib/castaddon.rb +11 -6
- data/lib/castaddon/node_adarwin.rb +245 -0
- data/lib/castaddon/node_bones.rb +316 -0
- data/lib/castaddon/node_common.rb +289 -0
- data/lib/castaddon/transformations.rb +236 -0
- data/lib/common.rb +216 -0
- data/skeletons/CPU-C/common/header.c +3 -0
- data/skeletons/CPU-C/common/mem_global.c +0 -0
- data/skeletons/CPU-C/common/timer_2_start.c +11 -13
- data/skeletons/CPU-C/common/timer_2_stop.c +1 -1
- data/skeletons/CPU-C/common/timer_globals.c +29 -0
- data/skeletons/CPU-OPENCL-INTEL/common/globals.c +1 -1
- data/skeletons/CPU-OPENCL-INTEL/common/header.c +3 -0
- data/skeletons/CPU-OPENCL-INTEL/common/mem_copy_D2H.c +7 -2
- data/skeletons/CPU-OPENCL-INTEL/common/mem_copy_H2D.c +4 -2
- data/skeletons/CPU-OPENCL-INTEL/common/mem_global.c +0 -0
- data/skeletons/CPU-OPENCL-INTEL/common/mem_prologue.c +6 -3
- data/skeletons/CPU-OPENCL-INTEL/common/timer_2_stop.c +1 -1
- data/skeletons/CPU-OPENCL-INTEL/common/timer_globals.c +24 -0
- data/skeletons/CPU-OPENMP/common/globals.c +1 -0
- data/skeletons/CPU-OPENMP/common/header.c +3 -0
- data/skeletons/CPU-OPENMP/common/mem_global.c +0 -0
- data/skeletons/CPU-OPENMP/common/timer_1_start.c +0 -12
- data/skeletons/CPU-OPENMP/common/timer_2_stop.c +1 -1
- data/skeletons/CPU-OPENMP/common/timer_globals.c +33 -0
- data/skeletons/GPU-CUDA/common/globals.c +27 -3
- data/skeletons/GPU-CUDA/common/header.c +2 -0
- data/skeletons/GPU-CUDA/common/mem_async_alloc.c +6 -0
- data/skeletons/GPU-CUDA/common/mem_async_copyin.c +6 -0
- data/skeletons/GPU-CUDA/common/mem_async_copyout.c +6 -0
- data/skeletons/GPU-CUDA/common/mem_async_free.c +6 -0
- data/skeletons/GPU-CUDA/common/mem_copy_D2H.c +2 -1
- data/skeletons/GPU-CUDA/common/mem_copy_H2D.c +2 -1
- data/skeletons/GPU-CUDA/common/mem_global.c +1 -0
- data/skeletons/GPU-CUDA/common/mem_prologue.c +1 -2
- data/skeletons/GPU-CUDA/common/scheduler.c +86 -0
- data/skeletons/GPU-CUDA/common/timer_2_start.c +2 -4
- data/skeletons/GPU-CUDA/common/timer_2_stop.c +3 -5
- data/skeletons/GPU-CUDA/common/timer_globals.c +26 -0
- data/skeletons/GPU-CUDA/kernel/2xN-N-chunk-1-N-to-D-element.kernel.cu +5 -7
- data/skeletons/GPU-CUDA/kernel/N-N-chunk-1-N-to-D-element.kernel.cu +4 -6
- data/skeletons/GPU-CUDA/kernel/default.host.c +1 -1
- data/skeletons/GPU-CUDA/kernel/default.kernel.cu +6 -8
- data/skeletons/GPU-CUDA/skeletons.txt +6 -5
- data/{examples/benchmarks/2mm.c → test/examples/benchmarks/PolyBench/2mm_species.c} +19 -15
- data/test/examples/benchmarks/PolyBench/3mm_species.c +82 -0
- data/test/examples/benchmarks/PolyBench/adi_species.c +89 -0
- data/test/examples/benchmarks/PolyBench/atax_species.c +69 -0
- data/test/examples/benchmarks/PolyBench/bicg_species.c +71 -0
- data/test/examples/benchmarks/PolyBench/cholesky_species.c +68 -0
- data/test/examples/benchmarks/PolyBench/correlation_species.c +97 -0
- data/test/examples/benchmarks/PolyBench/covariance_species.c +78 -0
- data/test/examples/benchmarks/PolyBench/doitgen_species.c +67 -0
- data/test/examples/benchmarks/PolyBench/durbin_species.c +80 -0
- data/test/examples/benchmarks/PolyBench/dynprog_species.c +71 -0
- data/test/examples/benchmarks/PolyBench/fdtd-2d-apml_species.c +112 -0
- data/test/examples/benchmarks/PolyBench/fdtd-2d_species.c +78 -0
- data/test/examples/benchmarks/PolyBench/floyd-warshall_species.c +54 -0
- data/test/examples/benchmarks/PolyBench/gemm_species.c +73 -0
- data/test/examples/benchmarks/PolyBench/gemver_species.c +93 -0
- data/test/examples/benchmarks/PolyBench/gesummv_species.c +68 -0
- data/test/examples/benchmarks/PolyBench/gramschmidt_species.c +78 -0
- data/test/examples/benchmarks/PolyBench/jacobi-1d-imper_species.c +59 -0
- data/test/examples/benchmarks/PolyBench/jacobi-2d-imper_species.c +65 -0
- data/test/examples/benchmarks/PolyBench/lu_species.c +57 -0
- data/test/examples/benchmarks/PolyBench/ludcmp_species.c +89 -0
- data/test/examples/benchmarks/PolyBench/mvt_species.c +69 -0
- data/test/examples/benchmarks/PolyBench/reg_detect_species.c +86 -0
- data/test/examples/benchmarks/PolyBench/seidel-2d_species.c +53 -0
- data/test/examples/benchmarks/PolyBench/symm_species.c +74 -0
- data/test/examples/benchmarks/PolyBench/syr2k_species.c +69 -0
- data/test/examples/benchmarks/PolyBench/syrk_species.c +66 -0
- data/test/examples/benchmarks/PolyBench/trisolv_species.c +61 -0
- data/test/examples/benchmarks/PolyBench/trmm_species.c +61 -0
- data/test/examples/chunk/example01_species.c +58 -0
- data/test/examples/chunk/example02_species.c +48 -0
- data/test/examples/chunk/example03_species.c +63 -0
- data/test/examples/chunk/example04_species.c +58 -0
- data/test/examples/chunk/example05_species.c +56 -0
- data/test/examples/chunk/example06_species.c +49 -0
- data/test/examples/chunk/example07_species.c +53 -0
- data/test/examples/dependences/example01_species.c +46 -0
- data/test/examples/dependences/example02_species.c +44 -0
- data/test/examples/dependences/example03_species.c +47 -0
- data/test/examples/dependences/example04_species.c +48 -0
- data/test/examples/dependences/example05_species.c +46 -0
- data/test/examples/element/example01_species.c +50 -0
- data/test/examples/element/example02_species.c +50 -0
- data/test/examples/element/example03_species.c +62 -0
- data/test/examples/element/example04_species.c +53 -0
- data/test/examples/element/example05_species.c +59 -0
- data/test/examples/element/example06_species.c +50 -0
- data/test/examples/element/example07_species.c +58 -0
- data/test/examples/element/example08_species.c +49 -0
- data/test/examples/element/example09_species.c +52 -0
- data/test/examples/element/example10_species.c +54 -0
- data/test/examples/element/example11_species.c +51 -0
- data/test/examples/element/example12_species.c +60 -0
- data/test/examples/element/example13_species.c +77 -0
- data/test/examples/neighbourhood/example01_species.c +57 -0
- data/test/examples/neighbourhood/example02_species.c +56 -0
- data/test/examples/neighbourhood/example03_species.c +83 -0
- data/test/examples/neighbourhood/example04_species.c +55 -0
- data/test/examples/neighbourhood/example05_species.c +48 -0
- data/test/examples/shared/example01_species.c +49 -0
- data/test/examples/shared/example02_species.c +55 -0
- data/test/examples/shared/example03_species.c +59 -0
- data/test/examples/shared/example04_species.c +56 -0
- data/test/examples/shared/example05_species.c +52 -0
- metadata +193 -73
- data/examples/benchmarks/overview.txt +0 -38
- data/lib/castaddon/node.rb +0 -753
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//
|
|
2
|
+
// This file is part of the Bones source-to-source compiler examples. This C-code
|
|
3
|
+
// example is meant to illustrate the use of Bones. For more information on Bones
|
|
4
|
+
// use the contact information below.
|
|
5
|
+
//
|
|
6
|
+
// == More information on Bones
|
|
7
|
+
// Contact............Cedric Nugteren <c.nugteren@tue.nl>
|
|
8
|
+
// Web address........http://parse.ele.tue.nl/bones/
|
|
9
|
+
//
|
|
10
|
+
// == File information
|
|
11
|
+
// Filename...........neighbourhood/example05.c
|
|
12
|
+
// Author.............Cedric Nugteren
|
|
13
|
+
// Last modified on...07-May-2013
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
#include <stdio.h>
|
|
17
|
+
|
|
18
|
+
// This is 'example05', an unrolled one-sided neighbourhood
|
|
19
|
+
int main(void) {
|
|
20
|
+
int i;
|
|
21
|
+
int N = 256;
|
|
22
|
+
|
|
23
|
+
// Declare input/output arrays
|
|
24
|
+
int A[N];
|
|
25
|
+
int B[N];
|
|
26
|
+
|
|
27
|
+
// Set the input data
|
|
28
|
+
for(i=0;i<N;i++) {
|
|
29
|
+
A[i] = i;
|
|
30
|
+
B[i] = i+5;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Perform the computation
|
|
34
|
+
#pragma scop
|
|
35
|
+
{
|
|
36
|
+
#pragma species kernel A[2:N]|neighbourhood(0:1) -> B[2:N-1]|element
|
|
37
|
+
for (i = 2; i < N; i++) {
|
|
38
|
+
B[i] = A[i] + A[i + 1];
|
|
39
|
+
}
|
|
40
|
+
#pragma species endkernel example05_k1
|
|
41
|
+
}
|
|
42
|
+
#pragma endscop
|
|
43
|
+
|
|
44
|
+
// Clean-up and exit the function
|
|
45
|
+
fflush(stdout);
|
|
46
|
+
return 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//
|
|
2
|
+
// This file is part of the Bones source-to-source compiler examples. This C-code
|
|
3
|
+
// example is meant to illustrate the use of Bones. For more information on Bones
|
|
4
|
+
// use the contact information below.
|
|
5
|
+
//
|
|
6
|
+
// == More information on Bones
|
|
7
|
+
// Contact............Cedric Nugteren <c.nugteren@tue.nl>
|
|
8
|
+
// Web address........http://parse.ele.tue.nl/bones/
|
|
9
|
+
//
|
|
10
|
+
// == File information
|
|
11
|
+
// Filename...........shared/example1.c
|
|
12
|
+
// Author.............Cedric Nugteren
|
|
13
|
+
// Last modified on...16-April-2012
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
#include <stdio.h>
|
|
17
|
+
#include <stdlib.h>
|
|
18
|
+
#define SIZE 512*1024
|
|
19
|
+
|
|
20
|
+
// This is 'example1', a basic associative and commutative reduction to scalar
|
|
21
|
+
int main(void) {
|
|
22
|
+
int i;
|
|
23
|
+
|
|
24
|
+
// Declare input/output arrays
|
|
25
|
+
int *A = (int *)malloc(SIZE*sizeof(int));
|
|
26
|
+
int B[1];
|
|
27
|
+
|
|
28
|
+
// Set the input data
|
|
29
|
+
for(i=0;i<SIZE;i++) {
|
|
30
|
+
A[i] = 1;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Perform the computation
|
|
34
|
+
B[0] = 0;
|
|
35
|
+
#pragma scop
|
|
36
|
+
{
|
|
37
|
+
#pragma species kernel B[0:0]|full ^ A[0:SIZE-1]|element -> B[0:0]|shared
|
|
38
|
+
for (i = 0; i < SIZE; i++) {
|
|
39
|
+
B[0] = B[0] + A[i];
|
|
40
|
+
}
|
|
41
|
+
#pragma species endkernel example01_k1
|
|
42
|
+
}
|
|
43
|
+
#pragma endscop
|
|
44
|
+
|
|
45
|
+
// Clean-up and exit the function
|
|
46
|
+
fflush(stdout);
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
//
|
|
2
|
+
// This file is part of the Bones source-to-source compiler examples. This C-code
|
|
3
|
+
// example is meant to illustrate the use of Bones. For more information on Bones
|
|
4
|
+
// use the contact information below.
|
|
5
|
+
//
|
|
6
|
+
// == More information on Bones
|
|
7
|
+
// Contact............Cedric Nugteren <c.nugteren@tue.nl>
|
|
8
|
+
// Web address........http://parse.ele.tue.nl/bones/
|
|
9
|
+
//
|
|
10
|
+
// == File information
|
|
11
|
+
// Filename...........shared/example2.c
|
|
12
|
+
// Author.............Cedric Nugteren
|
|
13
|
+
// Last modified on...09-May-2012
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
#include <stdio.h>
|
|
17
|
+
|
|
18
|
+
// This is 'example2', demonstrating a 3D input reduction to scalar
|
|
19
|
+
int main(void) {
|
|
20
|
+
int a,b,c;
|
|
21
|
+
|
|
22
|
+
// Declare input/output arrays
|
|
23
|
+
float in[8][16][32];
|
|
24
|
+
float out[1];
|
|
25
|
+
|
|
26
|
+
// Set the input data
|
|
27
|
+
for(a=0;a<8;a++) {
|
|
28
|
+
for(b=0;b<16;b++) {
|
|
29
|
+
for(c=0;c<32;c++) {
|
|
30
|
+
in[a][b][c] = 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Perform the computation
|
|
36
|
+
out[0] = 0;
|
|
37
|
+
#pragma scop
|
|
38
|
+
{
|
|
39
|
+
#pragma species kernel out[0:0]|full ^ in[0:7,0:15,0:31]|element -> out[0:0]|shared
|
|
40
|
+
for (a = 0; a < 8; a++) {
|
|
41
|
+
for (b = 0; b < 16; b++) {
|
|
42
|
+
for (c = 0; c < 32; c++) {
|
|
43
|
+
out[0] = out[0] + in[a][b][c];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
#pragma species endkernel example02_k1
|
|
48
|
+
}
|
|
49
|
+
#pragma endscop
|
|
50
|
+
|
|
51
|
+
// Clean-up and exit the function
|
|
52
|
+
fflush(stdout);
|
|
53
|
+
return 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//
|
|
2
|
+
// This file is part of the Bones source-to-source compiler examples. This C-code
|
|
3
|
+
// example is meant to illustrate the use of Bones. For more information on Bones
|
|
4
|
+
// use the contact information below.
|
|
5
|
+
//
|
|
6
|
+
// == More information on Bones
|
|
7
|
+
// Contact............Cedric Nugteren <c.nugteren@tue.nl>
|
|
8
|
+
// Web address........http://parse.ele.tue.nl/bones/
|
|
9
|
+
//
|
|
10
|
+
// == File information
|
|
11
|
+
// Filename...........shared/example3.c
|
|
12
|
+
// Author.............Cedric Nugteren
|
|
13
|
+
// Last modified on...16-April-2012
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
#include <stdio.h>
|
|
17
|
+
#include <stdlib.h>
|
|
18
|
+
#define SIZE 1024
|
|
19
|
+
|
|
20
|
+
// This is 'example3', demonstrating a reduction to a 2D array
|
|
21
|
+
int main(void) {
|
|
22
|
+
int i,p,q;
|
|
23
|
+
int index1,index2;
|
|
24
|
+
|
|
25
|
+
// Declare input/output arrays
|
|
26
|
+
int *in = (int *)malloc(SIZE*sizeof(int));
|
|
27
|
+
int B[20][10];
|
|
28
|
+
|
|
29
|
+
// Set the input data
|
|
30
|
+
for(i=0;i<SIZE;i++) {
|
|
31
|
+
in[i] = (SIZE-i);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Set the output to zero before starting
|
|
35
|
+
for(p=0;p<20;p++) {
|
|
36
|
+
for(q=0;q<10;q++) {
|
|
37
|
+
B[p][q] = 0;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Perform the computation
|
|
42
|
+
#pragma scop
|
|
43
|
+
{
|
|
44
|
+
#pragma species kernel in[0:SIZE-1]|element ^ B[0:19,0:9]|full -> B[0:19,0:9]|shared
|
|
45
|
+
for (i = 0; i < SIZE; i++) {
|
|
46
|
+
index1 = in[i] % 20;
|
|
47
|
+
index2 = in[i] % 10;
|
|
48
|
+
B[index1][index2] = B[index1][index2] + 1;
|
|
49
|
+
}
|
|
50
|
+
#pragma species endkernel example03_k1
|
|
51
|
+
}
|
|
52
|
+
#pragma endscop
|
|
53
|
+
|
|
54
|
+
// Clean-up and exit the function
|
|
55
|
+
free(in);
|
|
56
|
+
fflush(stdout);
|
|
57
|
+
return 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
//
|
|
2
|
+
// This file is part of the Bones source-to-source compiler examples. This C-code
|
|
3
|
+
// example is meant to illustrate the use of Bones. For more information on Bones
|
|
4
|
+
// use the contact information below.
|
|
5
|
+
//
|
|
6
|
+
// == More information on Bones
|
|
7
|
+
// Contact............Cedric Nugteren <c.nugteren@tue.nl>
|
|
8
|
+
// Web address........http://parse.ele.tue.nl/bones/
|
|
9
|
+
//
|
|
10
|
+
// == File information
|
|
11
|
+
// Filename...........shared/example4.c
|
|
12
|
+
// Author.............Cedric Nugteren
|
|
13
|
+
// Last modified on...16-April-2012
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
#include <stdio.h>
|
|
17
|
+
#include <stdlib.h>
|
|
18
|
+
#define SIZE 1024*1024
|
|
19
|
+
|
|
20
|
+
// This is 'example4', demonstrating a basic 256-bin histogram computation
|
|
21
|
+
int main(void) {
|
|
22
|
+
int i;
|
|
23
|
+
unsigned char index;
|
|
24
|
+
|
|
25
|
+
// Declare input/output arrays
|
|
26
|
+
unsigned char *A = (unsigned char *)malloc(SIZE*sizeof(unsigned char));
|
|
27
|
+
int B[256];
|
|
28
|
+
|
|
29
|
+
// Set the input data
|
|
30
|
+
for(i=0;i<SIZE;i++) {
|
|
31
|
+
A[i] = i%256;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Set the output to zero before starting
|
|
35
|
+
for (i=0;i<256;i++) {
|
|
36
|
+
B[i] = 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Perform the computation
|
|
40
|
+
#pragma scop
|
|
41
|
+
{
|
|
42
|
+
#pragma species kernel A[0:SIZE-1]|element ^ B[0:255]|full -> B[0:255]|shared
|
|
43
|
+
for (i = 0; i < SIZE; i++) {
|
|
44
|
+
index = A[i];
|
|
45
|
+
B[index]++;
|
|
46
|
+
}
|
|
47
|
+
#pragma species endkernel example04_k1
|
|
48
|
+
}
|
|
49
|
+
#pragma endscop
|
|
50
|
+
|
|
51
|
+
// Clean-up and exit the function
|
|
52
|
+
free(A);
|
|
53
|
+
fflush(stdout);
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//
|
|
2
|
+
// This file is part of the Bones source-to-source compiler examples. This C-code
|
|
3
|
+
// example is meant to illustrate the use of Bones. For more information on Bones
|
|
4
|
+
// use the contact information below.
|
|
5
|
+
//
|
|
6
|
+
// == More information on Bones
|
|
7
|
+
// Contact............Cedric Nugteren <c.nugteren@tue.nl>
|
|
8
|
+
// Web address........http://parse.ele.tue.nl/bones/
|
|
9
|
+
//
|
|
10
|
+
// == File information
|
|
11
|
+
// Filename...........shared/example5.c
|
|
12
|
+
// Author.............Cedric Nugteren
|
|
13
|
+
// Last modified on...07-May-2012
|
|
14
|
+
//
|
|
15
|
+
|
|
16
|
+
#include <stdio.h>
|
|
17
|
+
|
|
18
|
+
// This is 'example5', demonstrating an inner-loop only classification of a reduction to scalar
|
|
19
|
+
int main(void) {
|
|
20
|
+
int a,b,c;
|
|
21
|
+
|
|
22
|
+
// Declare input/output arrays
|
|
23
|
+
float in[16][16];
|
|
24
|
+
float out[1];
|
|
25
|
+
|
|
26
|
+
// Set the input data
|
|
27
|
+
out[0] = -1;
|
|
28
|
+
for(a=0;a<16;a++) {
|
|
29
|
+
for(b=0;b<16;b++) {
|
|
30
|
+
in[a][b] = 1.001;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Perform the computation
|
|
35
|
+
for(a=0;a<16;a++) {
|
|
36
|
+
#pragma scop
|
|
37
|
+
{
|
|
38
|
+
#pragma species kernel out[0:0]|full ^ in[a:a,0:a]|element -> out[0:0]|shared
|
|
39
|
+
for (b = 0; b <= a; b++) {
|
|
40
|
+
out[0] = out[0] - in[a][b] * in[a][b];
|
|
41
|
+
}
|
|
42
|
+
#pragma species endkernel example05_k1
|
|
43
|
+
}
|
|
44
|
+
#pragma endscop
|
|
45
|
+
out[0] = 1.002;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// Clean-up and exit the function
|
|
49
|
+
fflush(stdout);
|
|
50
|
+
return 0;
|
|
51
|
+
}
|
|
52
|
+
|
metadata
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bones-compiler
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 1.3.1
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Cedric Nugteren
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2013-10-30 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: rake
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
17
|
- - ! '>='
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
@@ -22,7 +20,6 @@ dependencies:
|
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
24
|
- - ! '>='
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
@@ -30,7 +27,6 @@ dependencies:
|
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: trollop
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
31
|
- - ! '>='
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
@@ -38,7 +34,6 @@ dependencies:
|
|
|
38
34
|
type: :runtime
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
38
|
- - ! '>='
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
@@ -46,7 +41,6 @@ dependencies:
|
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: cast
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
45
|
- - ! '>='
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
@@ -54,92 +48,141 @@ dependencies:
|
|
|
54
48
|
type: :runtime
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
|
|
51
|
+
requirements:
|
|
52
|
+
- - ! '>='
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: symbolic
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ! '>='
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
58
65
|
requirements:
|
|
59
66
|
- - ! '>='
|
|
60
67
|
- !ruby/object:Gem::Version
|
|
61
68
|
version: '0'
|
|
62
69
|
description: Bones is a source-to-source compiler based on algorithmic skeletons and
|
|
63
|
-
algorithmic species. It takes C code as input (annotated with species information
|
|
64
|
-
and generates parallel code in languages such as CUDA, OpenCL, and
|
|
65
|
-
code
|
|
70
|
+
algorithmic species. It takes C code as input (annotated with species information
|
|
71
|
+
by A-Darwin), and generates parallel code in languages such as CUDA, OpenCL, and
|
|
72
|
+
OpenMP. The generated code can be executed on a GPU or a multi-core CPU.
|
|
66
73
|
email: c.nugteren@tue.nl
|
|
67
74
|
executables:
|
|
68
75
|
- bones
|
|
76
|
+
- adarwin
|
|
69
77
|
extensions: []
|
|
70
78
|
extra_rdoc_files:
|
|
71
79
|
- README.rdoc
|
|
72
80
|
files:
|
|
73
81
|
- Rakefile
|
|
82
|
+
- bin/adarwin
|
|
74
83
|
- bin/bones
|
|
75
84
|
- examples/applications/ffos.c
|
|
76
|
-
- examples/element/
|
|
77
|
-
- examples/element/example8.c
|
|
85
|
+
- examples/element/example06.c
|
|
78
86
|
- examples/element/example12.c
|
|
79
|
-
- examples/element/
|
|
80
|
-
- examples/element/
|
|
81
|
-
- examples/element/
|
|
82
|
-
- examples/element/
|
|
83
|
-
- examples/element/
|
|
84
|
-
- examples/element/
|
|
87
|
+
- examples/element/example13.c
|
|
88
|
+
- examples/element/example04.c
|
|
89
|
+
- examples/element/example02.c
|
|
90
|
+
- examples/element/example07.c
|
|
91
|
+
- examples/element/example08.c
|
|
92
|
+
- examples/element/example09.c
|
|
93
|
+
- examples/element/example05.c
|
|
94
|
+
- examples/element/example03.c
|
|
85
95
|
- examples/element/example10.c
|
|
96
|
+
- examples/element/example01.c
|
|
86
97
|
- examples/element/example11.c
|
|
87
|
-
- examples/
|
|
88
|
-
- examples/chunk/
|
|
89
|
-
- examples/chunk/
|
|
90
|
-
- examples/chunk/
|
|
91
|
-
- examples/chunk/
|
|
92
|
-
- examples/chunk/
|
|
93
|
-
- examples/
|
|
94
|
-
- examples/neighbourhood/
|
|
95
|
-
- examples/neighbourhood/
|
|
96
|
-
- examples/neighbourhood/
|
|
97
|
-
- examples/
|
|
98
|
-
- examples/
|
|
99
|
-
- examples/shared/
|
|
100
|
-
- examples/shared/
|
|
101
|
-
- examples/shared/
|
|
102
|
-
- examples/
|
|
103
|
-
- examples/
|
|
104
|
-
- examples/benchmarks/
|
|
105
|
-
- examples/benchmarks/
|
|
106
|
-
- examples/benchmarks/
|
|
107
|
-
- examples/benchmarks/
|
|
108
|
-
- examples/benchmarks/
|
|
109
|
-
- examples/benchmarks/
|
|
110
|
-
- examples/benchmarks/
|
|
111
|
-
- examples/benchmarks/
|
|
112
|
-
- examples/benchmarks/
|
|
113
|
-
- examples/benchmarks/
|
|
114
|
-
- examples/benchmarks/
|
|
115
|
-
- examples/benchmarks/
|
|
116
|
-
- examples/benchmarks/
|
|
117
|
-
- examples/benchmarks/
|
|
118
|
-
- examples/benchmarks/
|
|
119
|
-
- examples/benchmarks/
|
|
120
|
-
- examples/benchmarks/
|
|
121
|
-
- examples/benchmarks/
|
|
122
|
-
- examples/benchmarks/
|
|
123
|
-
- examples/benchmarks/
|
|
124
|
-
- examples/benchmarks/
|
|
125
|
-
- examples/benchmarks/
|
|
126
|
-
- examples/benchmarks/
|
|
127
|
-
- examples/benchmarks/
|
|
128
|
-
- examples/benchmarks/
|
|
129
|
-
- examples/benchmarks/correlation.c
|
|
130
|
-
- examples/benchmarks/floyd-warshall.c
|
|
131
|
-
- examples/benchmarks/lu.c
|
|
132
|
-
- examples/benchmarks/durbin.c
|
|
133
|
-
- examples/benchmarks/doitgen.c
|
|
134
|
-
- examples/benchmarks/jacobi-1d-imper.c
|
|
135
|
-
-
|
|
98
|
+
- examples/chunk/example06.c
|
|
99
|
+
- examples/chunk/example04.c
|
|
100
|
+
- examples/chunk/example02.c
|
|
101
|
+
- examples/chunk/example07.c
|
|
102
|
+
- examples/chunk/example05.c
|
|
103
|
+
- examples/chunk/example03.c
|
|
104
|
+
- examples/chunk/example01.c
|
|
105
|
+
- examples/neighbourhood/example04.c
|
|
106
|
+
- examples/neighbourhood/example02.c
|
|
107
|
+
- examples/neighbourhood/example05.c
|
|
108
|
+
- examples/neighbourhood/example03.c
|
|
109
|
+
- examples/neighbourhood/example01.c
|
|
110
|
+
- examples/shared/example04.c
|
|
111
|
+
- examples/shared/example02.c
|
|
112
|
+
- examples/shared/example05.c
|
|
113
|
+
- examples/shared/example03.c
|
|
114
|
+
- examples/shared/example01.c
|
|
115
|
+
- examples/benchmarks/PolyBench/trisolv.c
|
|
116
|
+
- examples/benchmarks/PolyBench/gemm.c
|
|
117
|
+
- examples/benchmarks/PolyBench/covariance.c
|
|
118
|
+
- examples/benchmarks/PolyBench/gramschmidt.c
|
|
119
|
+
- examples/benchmarks/PolyBench/gemver.c
|
|
120
|
+
- examples/benchmarks/PolyBench/fdtd-2d.c
|
|
121
|
+
- examples/benchmarks/PolyBench/gesummv.c
|
|
122
|
+
- examples/benchmarks/PolyBench/cholesky.c
|
|
123
|
+
- examples/benchmarks/PolyBench/fdtd-2d-apml.c
|
|
124
|
+
- examples/benchmarks/PolyBench/dynprog.c
|
|
125
|
+
- examples/benchmarks/PolyBench/seidel-2d.c
|
|
126
|
+
- examples/benchmarks/PolyBench/syrk.c
|
|
127
|
+
- examples/benchmarks/PolyBench/mvt.c
|
|
128
|
+
- examples/benchmarks/PolyBench/bicg.c
|
|
129
|
+
- examples/benchmarks/PolyBench/adi.c
|
|
130
|
+
- examples/benchmarks/PolyBench/3mm.c
|
|
131
|
+
- examples/benchmarks/PolyBench/syr2k.c
|
|
132
|
+
- examples/benchmarks/PolyBench/common.h
|
|
133
|
+
- examples/benchmarks/PolyBench/trmm.c
|
|
134
|
+
- examples/benchmarks/PolyBench/atax.c
|
|
135
|
+
- examples/benchmarks/PolyBench/reg_detect.c
|
|
136
|
+
- examples/benchmarks/PolyBench/2mm.c
|
|
137
|
+
- examples/benchmarks/PolyBench/ludcmp.c
|
|
138
|
+
- examples/benchmarks/PolyBench/jacobi-2d-imper.c
|
|
139
|
+
- examples/benchmarks/PolyBench/symm.c
|
|
140
|
+
- examples/benchmarks/PolyBench/correlation.c
|
|
141
|
+
- examples/benchmarks/PolyBench/floyd-warshall.c
|
|
142
|
+
- examples/benchmarks/PolyBench/lu.c
|
|
143
|
+
- examples/benchmarks/PolyBench/durbin.c
|
|
144
|
+
- examples/benchmarks/PolyBench/doitgen.c
|
|
145
|
+
- examples/benchmarks/PolyBench/jacobi-1d-imper.c
|
|
146
|
+
- examples/benchmarks/Rodinia/hotspot.c
|
|
147
|
+
- examples/benchmarks/Rodinia/srad.c
|
|
148
|
+
- examples/benchmarks/Rodinia/kmeans.c
|
|
149
|
+
- examples/benchmarks/Rodinia/cfd.c
|
|
150
|
+
- examples/benchmarks/other/saxpy.c
|
|
151
|
+
- examples/benchmarks/other/dct.c
|
|
152
|
+
- examples/benchmarks/other/mm.c
|
|
153
|
+
- examples/benchmarks/other/common.h
|
|
154
|
+
- examples/fusion/example04.c
|
|
155
|
+
- examples/fusion/example02.c
|
|
156
|
+
- examples/fusion/example05.c
|
|
157
|
+
- examples/fusion/example03.c
|
|
158
|
+
- examples/fusion/example01.c
|
|
159
|
+
- examples/dependences/example04.c
|
|
160
|
+
- examples/dependences/example02.c
|
|
161
|
+
- examples/dependences/example05.c
|
|
162
|
+
- examples/dependences/example03.c
|
|
163
|
+
- examples/dependences/example01.c
|
|
164
|
+
- lib/adarwin/reference.rb
|
|
165
|
+
- lib/adarwin/fusion.rb
|
|
166
|
+
- lib/adarwin/interval.rb
|
|
167
|
+
- lib/adarwin/preprocessor.rb
|
|
168
|
+
- lib/adarwin/memorycopies.rb
|
|
169
|
+
- lib/adarwin/engine.rb
|
|
170
|
+
- lib/adarwin/nest.rb
|
|
171
|
+
- lib/adarwin/dependences.rb
|
|
172
|
+
- lib/common.rb
|
|
173
|
+
- lib/castaddon/transformations.rb
|
|
174
|
+
- lib/castaddon/node_bones.rb
|
|
175
|
+
- lib/castaddon/node_adarwin.rb
|
|
176
|
+
- lib/castaddon/node_common.rb
|
|
136
177
|
- lib/castaddon/index.rb
|
|
137
178
|
- lib/castaddon/type.rb
|
|
179
|
+
- lib/adarwin.rb
|
|
138
180
|
- lib/castaddon.rb
|
|
139
181
|
- lib/bones.rb
|
|
140
182
|
- lib/bones/variablelist.rb
|
|
141
183
|
- lib/bones/structure.rb
|
|
142
184
|
- lib/bones/preprocessor.rb
|
|
185
|
+
- lib/bones/copy.rb
|
|
143
186
|
- lib/bones/engine.rb
|
|
144
187
|
- lib/bones/variable.rb
|
|
145
188
|
- lib/bones/algorithm.rb
|
|
@@ -158,9 +201,11 @@ files:
|
|
|
158
201
|
- skeletons/CPU-OPENMP/common/prologue.c
|
|
159
202
|
- skeletons/CPU-OPENMP/common/mem_copy_H2D.c
|
|
160
203
|
- skeletons/CPU-OPENMP/common/mem_copy_D2H.c
|
|
204
|
+
- skeletons/CPU-OPENMP/common/timer_globals.c
|
|
161
205
|
- skeletons/CPU-OPENMP/common/globals_kernel.c
|
|
162
206
|
- skeletons/CPU-OPENMP/common/timer_2_stop.c
|
|
163
207
|
- skeletons/CPU-OPENMP/common/timer_1_stop.c
|
|
208
|
+
- skeletons/CPU-OPENMP/common/mem_global.c
|
|
164
209
|
- skeletons/CPU-OPENMP/common/timer_2_start.c
|
|
165
210
|
- skeletons/CPU-OPENMP/common/timer_1_start.c
|
|
166
211
|
- skeletons/CPU-OPENMP/common/mem_epilogue.c
|
|
@@ -176,9 +221,11 @@ files:
|
|
|
176
221
|
- skeletons/CPU-OPENCL-INTEL/common/prologue.c
|
|
177
222
|
- skeletons/CPU-OPENCL-INTEL/common/mem_copy_H2D.c
|
|
178
223
|
- skeletons/CPU-OPENCL-INTEL/common/mem_copy_D2H.c
|
|
224
|
+
- skeletons/CPU-OPENCL-INTEL/common/timer_globals.c
|
|
179
225
|
- skeletons/CPU-OPENCL-INTEL/common/globals_kernel.c
|
|
180
226
|
- skeletons/CPU-OPENCL-INTEL/common/timer_2_stop.c
|
|
181
227
|
- skeletons/CPU-OPENCL-INTEL/common/timer_1_stop.c
|
|
228
|
+
- skeletons/CPU-OPENCL-INTEL/common/mem_global.c
|
|
182
229
|
- skeletons/CPU-OPENCL-INTEL/common/timer_2_start.c
|
|
183
230
|
- skeletons/CPU-OPENCL-INTEL/common/timer_1_start.c
|
|
184
231
|
- skeletons/CPU-OPENCL-INTEL/common/mem_epilogue.c
|
|
@@ -228,9 +275,11 @@ files:
|
|
|
228
275
|
- skeletons/CPU-C/common/prologue.c
|
|
229
276
|
- skeletons/CPU-C/common/mem_copy_H2D.c
|
|
230
277
|
- skeletons/CPU-C/common/mem_copy_D2H.c
|
|
278
|
+
- skeletons/CPU-C/common/timer_globals.c
|
|
231
279
|
- skeletons/CPU-C/common/globals_kernel.c
|
|
232
280
|
- skeletons/CPU-C/common/timer_2_stop.c
|
|
233
281
|
- skeletons/CPU-C/common/timer_1_stop.c
|
|
282
|
+
- skeletons/CPU-C/common/mem_global.c
|
|
234
283
|
- skeletons/CPU-C/common/timer_2_start.c
|
|
235
284
|
- skeletons/CPU-C/common/timer_1_start.c
|
|
236
285
|
- skeletons/CPU-C/common/mem_epilogue.c
|
|
@@ -250,14 +299,21 @@ files:
|
|
|
250
299
|
- skeletons/GPU-CUDA/kernel/D-element-to-1-shared.host.c
|
|
251
300
|
- skeletons/GPU-CUDA/skeletons.txt
|
|
252
301
|
- skeletons/GPU-CUDA/common/globals.c
|
|
302
|
+
- skeletons/GPU-CUDA/common/mem_async_copyout.c
|
|
253
303
|
- skeletons/GPU-CUDA/common/epilogue.c
|
|
254
304
|
- skeletons/GPU-CUDA/common/prologue.c
|
|
255
305
|
- skeletons/GPU-CUDA/common/mem_copy_H2D.c
|
|
306
|
+
- skeletons/GPU-CUDA/common/mem_async_copyin.c
|
|
256
307
|
- skeletons/GPU-CUDA/common/mem_copy_D2H.c
|
|
308
|
+
- skeletons/GPU-CUDA/common/timer_globals.c
|
|
257
309
|
- skeletons/GPU-CUDA/common/globals_kernel.c
|
|
310
|
+
- skeletons/GPU-CUDA/common/scheduler.c
|
|
258
311
|
- skeletons/GPU-CUDA/common/timer_2_stop.c
|
|
259
312
|
- skeletons/GPU-CUDA/common/timer_1_stop.c
|
|
313
|
+
- skeletons/GPU-CUDA/common/mem_global.c
|
|
260
314
|
- skeletons/GPU-CUDA/common/timer_2_start.c
|
|
315
|
+
- skeletons/GPU-CUDA/common/mem_async_free.c
|
|
316
|
+
- skeletons/GPU-CUDA/common/mem_async_alloc.c
|
|
261
317
|
- skeletons/GPU-CUDA/common/timer_1_start.c
|
|
262
318
|
- skeletons/GPU-CUDA/common/mem_epilogue.c
|
|
263
319
|
- skeletons/GPU-CUDA/common/header.c
|
|
@@ -268,6 +324,71 @@ files:
|
|
|
268
324
|
- test/bones/test_common.rb
|
|
269
325
|
- test/bones/test_algorithm.rb
|
|
270
326
|
- test/bones/test_variable.rb
|
|
327
|
+
- test/examples/element/example08_species.c
|
|
328
|
+
- test/examples/element/example04_species.c
|
|
329
|
+
- test/examples/element/example07_species.c
|
|
330
|
+
- test/examples/element/example06_species.c
|
|
331
|
+
- test/examples/element/example09_species.c
|
|
332
|
+
- test/examples/element/example02_species.c
|
|
333
|
+
- test/examples/element/example05_species.c
|
|
334
|
+
- test/examples/element/example03_species.c
|
|
335
|
+
- test/examples/element/example10_species.c
|
|
336
|
+
- test/examples/element/example11_species.c
|
|
337
|
+
- test/examples/element/example13_species.c
|
|
338
|
+
- test/examples/element/example12_species.c
|
|
339
|
+
- test/examples/element/example01_species.c
|
|
340
|
+
- test/examples/chunk/example04_species.c
|
|
341
|
+
- test/examples/chunk/example07_species.c
|
|
342
|
+
- test/examples/chunk/example06_species.c
|
|
343
|
+
- test/examples/chunk/example02_species.c
|
|
344
|
+
- test/examples/chunk/example05_species.c
|
|
345
|
+
- test/examples/chunk/example03_species.c
|
|
346
|
+
- test/examples/chunk/example01_species.c
|
|
347
|
+
- test/examples/neighbourhood/example04_species.c
|
|
348
|
+
- test/examples/neighbourhood/example02_species.c
|
|
349
|
+
- test/examples/neighbourhood/example05_species.c
|
|
350
|
+
- test/examples/neighbourhood/example03_species.c
|
|
351
|
+
- test/examples/neighbourhood/example01_species.c
|
|
352
|
+
- test/examples/shared/example04_species.c
|
|
353
|
+
- test/examples/shared/example02_species.c
|
|
354
|
+
- test/examples/shared/example05_species.c
|
|
355
|
+
- test/examples/shared/example03_species.c
|
|
356
|
+
- test/examples/shared/example01_species.c
|
|
357
|
+
- test/examples/benchmarks/PolyBench/gesummv_species.c
|
|
358
|
+
- test/examples/benchmarks/PolyBench/durbin_species.c
|
|
359
|
+
- test/examples/benchmarks/PolyBench/cholesky_species.c
|
|
360
|
+
- test/examples/benchmarks/PolyBench/seidel-2d_species.c
|
|
361
|
+
- test/examples/benchmarks/PolyBench/fdtd-2d-apml_species.c
|
|
362
|
+
- test/examples/benchmarks/PolyBench/trmm_species.c
|
|
363
|
+
- test/examples/benchmarks/PolyBench/syrk_species.c
|
|
364
|
+
- test/examples/benchmarks/PolyBench/trisolv_species.c
|
|
365
|
+
- test/examples/benchmarks/PolyBench/jacobi-1d-imper_species.c
|
|
366
|
+
- test/examples/benchmarks/PolyBench/gramschmidt_species.c
|
|
367
|
+
- test/examples/benchmarks/PolyBench/fdtd-2d_species.c
|
|
368
|
+
- test/examples/benchmarks/PolyBench/atax_species.c
|
|
369
|
+
- test/examples/benchmarks/PolyBench/mvt_species.c
|
|
370
|
+
- test/examples/benchmarks/PolyBench/covariance_species.c
|
|
371
|
+
- test/examples/benchmarks/PolyBench/3mm_species.c
|
|
372
|
+
- test/examples/benchmarks/PolyBench/adi_species.c
|
|
373
|
+
- test/examples/benchmarks/PolyBench/doitgen_species.c
|
|
374
|
+
- test/examples/benchmarks/PolyBench/ludcmp_species.c
|
|
375
|
+
- test/examples/benchmarks/PolyBench/gemm_species.c
|
|
376
|
+
- test/examples/benchmarks/PolyBench/2mm_species.c
|
|
377
|
+
- test/examples/benchmarks/PolyBench/reg_detect_species.c
|
|
378
|
+
- test/examples/benchmarks/PolyBench/syr2k_species.c
|
|
379
|
+
- test/examples/benchmarks/PolyBench/symm_species.c
|
|
380
|
+
- test/examples/benchmarks/PolyBench/dynprog_species.c
|
|
381
|
+
- test/examples/benchmarks/PolyBench/jacobi-2d-imper_species.c
|
|
382
|
+
- test/examples/benchmarks/PolyBench/bicg_species.c
|
|
383
|
+
- test/examples/benchmarks/PolyBench/correlation_species.c
|
|
384
|
+
- test/examples/benchmarks/PolyBench/gemver_species.c
|
|
385
|
+
- test/examples/benchmarks/PolyBench/lu_species.c
|
|
386
|
+
- test/examples/benchmarks/PolyBench/floyd-warshall_species.c
|
|
387
|
+
- test/examples/dependences/example04_species.c
|
|
388
|
+
- test/examples/dependences/example02_species.c
|
|
389
|
+
- test/examples/dependences/example05_species.c
|
|
390
|
+
- test/examples/dependences/example03_species.c
|
|
391
|
+
- test/examples/dependences/example01_species.c
|
|
271
392
|
- README.rdoc
|
|
272
393
|
- LICENSE
|
|
273
394
|
- CHANGELOG
|
|
@@ -275,6 +396,7 @@ files:
|
|
|
275
396
|
homepage: http://parse.ele.tue.nl/bones/
|
|
276
397
|
licenses:
|
|
277
398
|
- LICENSE
|
|
399
|
+
metadata: {}
|
|
278
400
|
post_install_message:
|
|
279
401
|
rdoc_options:
|
|
280
402
|
- --title
|
|
@@ -283,21 +405,19 @@ rdoc_options:
|
|
|
283
405
|
require_paths:
|
|
284
406
|
- lib
|
|
285
407
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
286
|
-
none: false
|
|
287
408
|
requirements:
|
|
288
409
|
- - ! '>='
|
|
289
410
|
- !ruby/object:Gem::Version
|
|
290
411
|
version: '0'
|
|
291
412
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
292
|
-
none: false
|
|
293
413
|
requirements:
|
|
294
414
|
- - ! '>='
|
|
295
415
|
- !ruby/object:Gem::Version
|
|
296
416
|
version: '0'
|
|
297
417
|
requirements: []
|
|
298
418
|
rubyforge_project:
|
|
299
|
-
rubygems_version: 1.
|
|
419
|
+
rubygems_version: 2.1.10
|
|
300
420
|
signing_key:
|
|
301
|
-
specification_version:
|
|
421
|
+
specification_version: 4
|
|
302
422
|
summary: The Bones source-to-source compiler
|
|
303
423
|
test_files: []
|