Column-oriented GPU-accelerated Database Management System
CoGaDB
|
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