48 lines
		
	
	
		
			919 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			919 B
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#ifndef _PRED_H_
							 | 
						||
| 
								 | 
							
								#define _PRED_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// #define DEBUG_MEM 1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef struct Nodo{
							 | 
						||
| 
								 | 
							
								        int name;
							 | 
						||
| 
								 | 
							
									int num_rows;
							 | 
						||
| 
								 | 
							
									int num_columns;
							 | 
						||
| 
								 | 
							
									int is_fact;
							 | 
						||
| 
								 | 
							
									int *address_host_table;
							 | 
						||
| 
								 | 
							
									int *negatives;
							 | 
						||
| 
								 | 
							
									char *predname;
							 | 
						||
| 
								 | 
							
									double *weight;
							 | 
						||
| 
								 | 
							
								}gpunode;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								typedef gpunode predicate;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								//#define TIMER 1
							 | 
						||
| 
								 | 
							
								#define DATALOG 1
							 | 
						||
| 
								 | 
							
								#define NUM_T 4
							 | 
						||
| 
								 | 
							
								#define INISIZE 1000000
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if TIMER
							 | 
						||
| 
								 | 
							
								typedef struct Stats{
							 | 
						||
| 
								 | 
							
								  size_t joins, selects, unions, builtins;
							 | 
						||
| 
								 | 
							
								  size_t calls;
							 | 
						||
| 
								 | 
							
								  double total_time;
							 | 
						||
| 
								 | 
							
								  float max_time, min_time;
							 | 
						||
| 
								 | 
							
								  float select1_time, select2_time, join_time, sort_time, union_time, pred_time;
							 | 
						||
| 
								 | 
							
								}statinfo;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								extern statinfo cuda_stats;
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*Constants used to mark comparison predicates*/
							 | 
						||
| 
								 | 
							
								#define BPOFFSET (-6)
							 | 
						||
| 
								 | 
							
								#define SBG_EQ  (-1)
							 | 
						||
| 
								 | 
							
								#define SBG_GT  (-2)
							 | 
						||
| 
								 | 
							
								#define SBG_LT  (-3)
							 | 
						||
| 
								 | 
							
								#define SBG_GE  (-4)
							 | 
						||
| 
								 | 
							
								#define SBG_LE  (-5)
							 | 
						||
| 
								 | 
							
								#define SBG_DF  (-6)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int Cuda_Eval(predicate**, int, predicate**, int, int*, int**, char*, int);
							 | 
						||
| 
								 | 
							
								void  Cuda_Statistics( void );
							 | 
						||
| 
								 | 
							
								#endif
							 |