Column-oriented GPU-accelerated Database Management System
CoGaDB
/home/sebastian/gpudbms/trunk/hype-library/include/config/global_definitions.hpp
Go to the documentation of this file.
00001 
00002 #pragma once
00003 
00004  #define HYPE_ENABLE_PARALLEL_QUERY_PLAN_EVALUATION
00005 
00006 //#include <limits>
00007 
00008 #ifdef __cplusplus
00009 
00010 namespace hype{
00011 #endif
00012 
00013         //enum ProcessingDevice{PD0,PD1,PD2,PD3,PD4,PD5,PD6,PD7,PD8,PD9,PD10,PD11,PD12,PD13,PD14,PD15,PD16,PD17,PD18,PD19,PD20,PD21,PD22,PD23,PD24,PD25,PD26,PD27,PD28,PD29,PD30,PD31,PD32,PD33,PD34,PD35,PD36,PD37,PD38,PD39,PD40,PD41,PD42,PD43,PD44,PD45,PD46,PD47,PD48,PD49,PD50,PD51,PD52,PD53,PD54,PD55,PD56,PD57,PD58,PD59,PD60,PD61,PD62,PD63,PD64,PD65,PD66,PD67,PD68,PD69,PD70,PD71,PD72,PD73,PD74,PD75,PD76,PD77,PD78,PD79,PD80,PD81,PD82,PD83,PD84,PD85,PD86,PD87,PD88,PD89,PD90,PD91,PD92,PD93,PD94,PD95,PD96,PD97,PD98,PD99,PD100};
00014 
00015         //enum ProcessingDeviceMemory{PD_Memory_0,PD_Memory_1,PD_Memory_2,PD_Memory_3,PD_Memory_4,PD_Memory_5,PD_Memory_6,PD_Memory_7,PD_Memory_8,PD_Memory_9,PD_Memory_10,PD_Memory_11,PD_Memory_12,PD_Memory_13,PD_Memory_14,PD_Memory_15,PD_Memory_16,PD_Memory_17,PD_Memory_18,PD_Memory_19,PD_Memory_20,PD_Memory_21,PD_Memory_22,PD_Memory_23,PD_Memory_24,PD_Memory_25,PD_Memory_26,PD_Memory_27,PD_Memory_28,PD_Memory_29,PD_Memory_30,PD_Memory_31,PD_Memory_32,PD_Memory_33,PD_Memory_34,PD_Memory_35,PD_Memory_36,PD_Memory_37,PD_Memory_38,PD_Memory_39,PD_Memory_40,PD_Memory_41,PD_Memory_42,PD_Memory_43,PD_Memory_44,PD_Memory_45,PD_Memory_46,PD_Memory_47,PD_Memory_48,PD_Memory_49,PD_Memory_50,PD_Memory_51,PD_Memory_52,PD_Memory_53,PD_Memory_54,PD_Memory_55,PD_Memory_56,PD_Memory_57,PD_Memory_58,PD_Memory_59,PD_Memory_60,PD_Memory_61,PD_Memory_62,PD_Memory_63,PD_Memory_64,PD_Memory_65,PD_Memory_66,PD_Memory_67,PD_Memory_68,PD_Memory_69,PD_Memory_70,PD_Memory_71,PD_Memory_72,PD_Memory_73,PD_Memory_74,PD_Memory_75,PD_Memory_76,PD_Memory_77,PD_Memory_78,PD_Memory_79,PD_Memory_80,PD_Memory_81,PD_Memory_82,PD_Memory_83,PD_Memory_84,PD_Memory_85,PD_Memory_86,PD_Memory_87,PD_Memory_88,PD_Memory_89,PD_Memory_90,PD_Memory_91,PD_Memory_92,PD_Memory_93,PD_Memory_94,PD_Memory_95,PD_Memory_96,PD_Memory_97,PD_Memory_98,PD_Memory_99,PD_Memory_100};
00016         
00017         typedef enum {PD0,PD1,PD2,PD3,PD4,PD5,PD6,PD7,PD8,PD9,PD10} ProcessingDeviceID;
00018         
00019         typedef enum {PD_Memory_0,PD_Memory_1,PD_Memory_2,PD_Memory_3,PD_Memory_4,PD_Memory_5,PD_Memory_6,PD_Memory_7,PD_Memory_8,PD_Memory_9,PD_Memory_10} ProcessingDeviceMemoryID;
00020         
00021         typedef enum {CPU,GPU,FPGA,NP} ProcessingDeviceType;    //CPU,GPU,FPGA, Network Processor
00022         
00023         //enum DeviceTypeConstraint{ANY_DEVICE,CPU_ONLY,GPU_ONLY,FPGA_ONLY,NP_ONLY}; //ALL,CPU,GPU,FPGA, Network Processor
00024 
00025         typedef enum {ANY_DEVICE,CPU_ONLY,GPU_ONLY,FPGA_ONLY,NP_ONLY} DeviceTypeConstraint; //ALL,CPU,GPU,FPGA, Network Processor
00026 
00027         typedef enum {NO_COPY,COPY_CPU_TO_GPU,COPY_GPU_TO_CPU,COPY_CPU_TO_GPU_TO_CPU} CopyDirection;
00028 
00029         typedef enum {Architecture_32Bit,Architecture_64Bit} Architecture;
00030         
00031         //struct StatisticalMethods{
00032         typedef enum{
00033                 Least_Squares_1D,
00034                 Multilinear_Fitting_2D
00035         } StatisticalMethod;
00036         //};
00037         
00038                 typedef enum{
00039                         No_Recomputation,
00040                         Periodic//,
00041                         //RelativeErrorBased
00042                 } RecomputationHeuristic;
00043 
00044 //      struct RecomputationHeuristics{
00045 //              enum RecomputationHeuristic{
00046 //                      No_Recomputation,
00047 //                      Periodic//,
00048 //                      //RelativeErrorBased
00049 //              };
00050 //      };
00051         //{"Response Time","WaitingTimeAwareResponseTime","Throughput","Simple Round Robin","ProbabilityBasedOutsourcing","Throughput2"};
00052         
00053                 typedef enum {
00054                         ResponseTime,
00055                         WaitingTimeAwareResponseTime,
00056                         Throughput,
00057                         Simple_Round_Robin,
00058                         ProbabilityBasedOutsourcing,
00059                         Throughput2
00060                 } OptimizationCriterion;
00061 
00062 //      struct OptimizationCriterions{
00063 //              enum OptimizationCriterion{
00064 //                      ResponseTime,
00065 //                      WaitingTimeAwareResponseTime,
00066 //                      Throughput,
00067 //                      Simple_Round_Robin,
00068 //                      ProbabilityBasedOutsourcing,
00069 //                      Throughput2
00070 //              };
00071 //      };
00072 
00073 
00074 
00075 //#ifdef __cplusplus
00076 //struct StatisticalMethods{typedef hype::StatisticalMethod StatisticalMethod;};
00077 //struct RecomputationHeuristics{typedef hype::RecomputationHeuristic RecomputationHeuristic;};
00078 //struct OptimizationCriterions{typedef hype::OptimizationCriterion OptimizationCriterion;};
00079 
00080 //#endif
00081 
00082 #ifdef __cplusplus      
00083         namespace core{
00084 #endif
00085 
00086 /*      
00087         enum DebugMode{quiet=0,
00088                                            verbose=1,
00089                                            debug=1,
00090                                            print_time_measurement=0};//*/
00091 
00092 /*
00093         enum DebugMode{quiet=0,
00094                                            verbose=1,
00095                                            debug=1,
00096                                            print_time_measurement=0};//*/
00097 
00099 
00100         typedef enum {
00101             quiet = 1,
00102                                            verbose=0,
00103                                            debug=0,
00104                                            print_time_measurement=0} DebugMode;//*/
00105 
00106 
00107 
00108 
00109 
00110 #ifdef __cplusplus
00111         };//end namespace core
00112 }; //end namespace hype
00113 #endif
00114 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines