 int *table;
 
 __device__ long long word_count_actual = 0;
-//__device__ real alpha = 0.25;
+__device__ real alpha = 0.25;
 __constant__ long long gpu_train_words = 0, iter = 5;
 __constant__ real starting_alpha, sample = 1e-3;
 __constant__ int window;

{
    Lock lock;
    profile("/ launch kernel");
    //train_model_kernel<<<1024, 256>>>();
    printf("| -- (cpu) cache_length: %lld\n", cache_length);
    train_model_kernel<<<1024, 256>>>(gpu_cache, cache_length, layer1_size,
                                 gpu_vocab, gpu_expTable,
                                 gpu_syn0, gpu_syn1,
                                 &lock);
    profile("\\ launch kernel");
}


    vocab_hash = (int *)calloc(vocab_hash_size, sizeof(int));
    expTable = (real *)malloc((EXP_TABLE_SIZE + 1) * sizeof(real));

    CUDA_CALL(cudaMemcpyToSymbol(alpha, &param_alpha, sizeof(param_alpha)));
    CUDA_CALL(cudaMemcpyToSymbol(starting_alpha, &param_alpha, sizeof(param_alpha)));
    CUDA_CALL(cudaMemcpyToSymbol(iter, &param_iter, sizeof(param_iter)));
    CUDA_CALL(cudaMemcpyToSymbol(sample, &param_sample, sizeof(param_sample)));
