Blame view
src/mior/OldMiorKernel.java
3.66 KB
89f70c1ec import current mc... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
package mior; public class OldMiorKernel { public final static String topographyKernel = "" + "typedef struct { " + " float x; " + " float y; " + " int carbone; " + " int dormance; " + "} MM; " + "typedef struct { " + " float x; " + " float y; " + " int carbone; " + "} OM; " + "typedef struct { " + " int nbMM; " + " int nbOM; " + " int radius; " + " float respirationRate; " + " float growRate; " + " float killRate; " + " int width; " + " int minSize; " + "} MiorWorld; " + "kernel void topography( " + " global MM *mmList, " + " global OM *omList, " + " global int *topo, " + " constant MiorWorld *world) { " + " int iMM = get_global_id(0); " + " int iOM = get_global_id(1); " + " int index = iMM * world->nbOM + iOM; " + " float dx = omList[iOM].x - mmList[iMM].x; " + " float dy = omList[iOM].y - mmList[iMM].y; " + " float distance = sqrt(dx * dx + dy * dy); " + " if (distance <= world->radius) { " + " topo[index] = distance; " + " } else { " + " topo[index] = 0; " + " }; //topo[index] = distance; " + " " + "} "; } |