summaryrefslogtreecommitdiff
path: root/benchmarks/CUDA/MUM/common.cu
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/CUDA/MUM/common.cu')
-rw-r--r--benchmarks/CUDA/MUM/common.cu61
1 files changed, 61 insertions, 0 deletions
diff --git a/benchmarks/CUDA/MUM/common.cu b/benchmarks/CUDA/MUM/common.cu
new file mode 100644
index 0000000..5a9183f
--- /dev/null
+++ b/benchmarks/CUDA/MUM/common.cu
@@ -0,0 +1,61 @@
+#ifndef COMMON_CU__
+#define COMMON_CU__ 1
+// Children are labeled as ACGT$
+const int basecount = 5;
+
+// Note: max pixel size is 16 bytes
+
+const unsigned char DNA_A = 'A';
+const unsigned char DNA_C = 'B';
+const unsigned char DNA_G = 'C';
+const unsigned char DNA_T = 'D';
+const unsigned char DNA_S = 'E';
+
+// 4 bytes
+struct TextureAddress
+{
+ union
+ {
+ unsigned int data;
+
+ struct
+ {
+ unsigned short x;
+ unsigned short y;
+ };
+ };
+};
+
+// Store the start, end coordinate of node, and $link in 1 pixel
+struct PixelOfNode
+{
+ union
+ {
+ ulong4 data;
+ struct
+ {
+ int start;
+ int end;
+ TextureAddress childD;
+ TextureAddress suffix;
+ };
+ };
+};
+
+// Store the ACGT links in 1 pixel
+struct PixelOfChildren
+{
+ union
+ {
+ ulong4 data;
+ TextureAddress children[4];
+ };
+};
+
+#define FORWARD 0x0000
+#define REVERSE 0x8000
+#define FRMASK 0x8000
+#define FRUMASK 0x7FFF
+
+
+#endif