 #define MAX_EXP 6
 #define MAX_SENTENCE_LENGTH 1000
 #define MAX_CODE_LENGTH 40
-#define CACHE_SIZE_BY_BYTES (long long) cache_size * 1024 * 1024 * 1024
+//#define CACHE_SIZE_BY_BYTES (long long) cache_size * 1024 * 1024 * 1024
+#define CACHE_SIZE_BY_BYTES (long long) cache_size * 10240
 #define CACHE_SIZE_BY_UNITS CACHE_SIZE_BY_BYTES / sizeof(long long)
 #define CUDA_CALL(x) {\
         const cudaError_t error_code = (x);\

        }
    return -1;
}

void TrainModel(void);
int ArgPos(char *, int , char **);

__global__ void train_model_kernel(const long long *, const long long);
__device__ long long get_fragment_begin(const long long *, const long long, const unsigned int);
__device__ long long get_fragment_end(const long long *, const long long, const unsigned int);
    
int main(int argc, char **argv) {
    int i;
    if (argc == 1) {
