comparison src/gpu/ptx/vm/ptxKernelArguments.hpp @ 11902:67a1e27a8dbb

PTX initial float and double
author Morris Meyer <morris.meyer@oracle.com>
date Sun, 06 Oct 2013 22:07:23 -0400
parents 61767ccd4600
children f020e149c1b6
comparison
equal deleted inserted replaced
11901:61767ccd4600 11902:67a1e27a8dbb
26 #define KERNEL_ARGUMENTS_PTX_HPP 26 #define KERNEL_ARGUMENTS_PTX_HPP
27 27
28 #include "runtime/gpu.hpp" 28 #include "runtime/gpu.hpp"
29 #include "runtime/signature.hpp" 29 #include "runtime/signature.hpp"
30 30
31 #define T_BYTE_SIZE 1 31 #define T_BYTE_SIZE 1
32 #define T_BOOLEAN_SIZE 4 32 #define T_BOOLEAN_SIZE 4
33 #define T_INT_BYTE_SIZE 4 33 #define T_INT_BYTE_SIZE 4
34 #define T_FLOAT_BYTE_SIZE 4 34 #define T_FLOAT_BYTE_SIZE 4
35 #define T_LONG_BYTE_SIZE 8 35 #define T_DOUBLE_BYTE_SIZE 8
36 #define T_ARRAY_BYTE_SIZE 8 36 #define T_LONG_BYTE_SIZE 8
37 #define T_ARRAY_BYTE_SIZE 8
37 38
38 class PTXKernelArguments : public SignatureIterator { 39 class PTXKernelArguments : public SignatureIterator {
39 public: 40 public:
40 // Buffer holding CUdeviceptr values that represent the kernel arguments 41 // Buffer holding CUdeviceptr values that represent the kernel arguments
41 char _kernelArgBuffer[1024]; 42 char _kernelArgBuffer[1024];
101 102
102 void do_byte(); 103 void do_byte();
103 void do_bool(); 104 void do_bool();
104 void do_int(); 105 void do_int();
105 void do_float(); 106 void do_float();
107 void do_double();
106 void do_long(); 108 void do_long();
107 void do_array(int begin, int end); 109 void do_array(int begin, int end);
108 void do_void(); 110 void do_void();
109 111
110 inline void do_char() { 112 inline void do_char() {
113 } 115 }
114 inline void do_short() { 116 inline void do_short() {
115 /* TODO : To be implemented */ 117 /* TODO : To be implemented */
116 guarantee(false, "do_short:NYI"); 118 guarantee(false, "do_short:NYI");
117 } 119 }
118 inline void do_double() {
119 /* TODO : To be implemented */
120 guarantee(false, "do_double:NYI");
121 }
122
123 inline void do_object() { 120 inline void do_object() {
124 /* TODO : To be implemented */ 121 /* TODO : To be implemented */
125 guarantee(false, "do_object:NYI"); 122 guarantee(false, "do_object:NYI");
126 } 123 }
127 124