bufferkdtree (C sources)
C source code for the Python bufferkdtree implementation
 All Classes Files Functions Variables Typedefs Macros
base.h
Go to the documentation of this file.
1 /*
2  * brute.h
3  *
4  * Copyright (C) 2013-2016 Fabian Gieseke <fabian.gieseke@di.ku.dk>
5  * License: GPL v2
6  *
7  */
8 #ifndef BRUTE_INCLUDE_BASE_H_
9 #define BRUTE_INCLUDE_BASE_H_
10 
11 #include <stdlib.h>
12 #include <assert.h>
13 #include <math.h>
14 #include <stdio.h>
15 #include <time.h>
16 #include <pthread.h>
17 #include <string.h>
18 #include <sched.h>
19 #include <omp.h>
20 
21 #include "util.h"
22 #include "global.h"
23 
24 #include "../../../include/timing.h"
25 
26 #define PRINT(params) if ((params->verbosity_level) > 0) printf
27 
28 /* --------------------------------------------------------------------------------
29  * Interface (extern): Initialize components
30  * --------------------------------------------------------------------------------
31  */
32 void init_extern(int n_neighbors, int num_threads, int platform_id,
33  int device_id, char *kernels_source_directory, int verbosity_level,
34  BRUTE_PARAMETERS *params);
35 
36 /* --------------------------------------------------------------------------------
37  * Interface (extern): fit model
38  * --------------------------------------------------------------------------------
39  */
40 void fit_extern(FLOAT_TYPE *X, int nX, int dX, BRUTE_RECORD *brute_record,
41  BRUTE_PARAMETERS *params);
42 
43 /* --------------------------------------------------------------------------------
44  * Interface (extern): compute k nearest neighbors
45  * --------------------------------------------------------------------------------
46  */
47 void neighbors_extern(FLOAT_TYPE *Xtest, int nXtest, int dXtest,
48  FLOAT_TYPE* distances, int ndistances, int ddistances,
49  int* indices, int nindices, int dindices,
51 
52 /* --------------------------------------------------------------------------------
53  * Frees some resources (e.g., on the GPU)
54  * --------------------------------------------------------------------------------
55  */
57 
58 /* --------------------------------------------------------------------------------
59  * Checks if platform and device are valid
60  * --------------------------------------------------------------------------------
61  */
62 int extern_check_platform_device(int platform_id, int device_id);
63 
64 #endif /* BRUTE_INCLUDE_BASE_H_ */
Definition: global.h:67
void free_resources_extern(BRUTE_RECORD *brute_record, BRUTE_PARAMETERS *params)
Definition: base.c:130
int extern_check_platform_device(int platform_id, int device_id)
Definition: base.c:146
void neighbors_extern(FLOAT_TYPE *Xtest, int nXtest, int dXtest, FLOAT_TYPE *distances, int ndistances, int ddistances, int *indices, int nindices, int dindices, BRUTE_RECORD *brute_record, BRUTE_PARAMETERS *params)
Definition: base.c:101
Definition: global.h:54
void fit_extern(FLOAT_TYPE *X, int nX, int dX, BRUTE_RECORD *brute_record, BRUTE_PARAMETERS *params)
Definition: base.c:58
#define FLOAT_TYPE
Definition: float.h:17
void init_extern(int n_neighbors, int num_threads, int platform_id, int device_id, char *kernels_source_directory, int verbosity_level, BRUTE_PARAMETERS *params)
Definition: base.c:26