 
 	for(i = 0; i < samples;) {
 	//	block_samples = m_multiply(block_CA,state);
-		MatrixMultiplyKernel<<<dimGridCA, dimBlockCA>>>(dblock_CA, dstate1, dblock_samples);
+		MatrixMultiplyKernel<<<dimGridCA, dimBlockCA>>>(device_block_CA, device_state1, device_block_samples);
 
 #if DEBUG == 4
 		m_print(MatrixAp);

	sample = (float *) malloc(sizeof(float) * samples);
	blocksize = 100;

	dblock_CA = m_new(blocksize, MatrixA.cols);
	dblock_samples = m_new(blocksize,1);
	dMatrixAp = m_new(MatrixA.rows, MatrixA.cols); // BLOCKDIAGMATRIX
	dstate1 = m_new(2 * filters, 1);
	dstate2 = m_new(2 * filters, 1);

	block_CA = m_new(blocksize, MatrixA.cols);
	block_samples = m_new(blocksize,1);

#endif
	
		cudaDeviceSynchronize();	
		cudaMemcpy(block_samples.elements, device_block_samples.elements, m_size(block_samples), cudaMemcpyDeviceToHost);

		//printf("%d\n", i);

