 	// Random number value is less than the poisson firing probability
 	// if poisson firing probability is say 1.0 then the random poisson ptr
 	// will always be less than 1.0 and hence it will continiously fire
-	return gpuPtrs.poissonRandPtr[nid-gpuNetInfo.numNReg]*(1000.0f/RNG_rand48::MAX_RANGE) < gpuPtrs.poissonFireRate[nid-gpuNetInfo.numNReg];
+	return runtimeDataGPU.poissonRandPtr[nid-networkConfigGPU.numNReg]*(1000.0f/RNG_rand48::MAX_RANGE) < runtimeDataGPU.poissonFireRate[nid-networkConfigGPU.numNReg];
 }
 
 ///////////////////////////////////////////////////////////////////

{
	const int nidBitPos = nidPos%32;
	const int nidIndex  = nidPos/32;
	return ((gpuPtrs.spikeGenBits[nidIndex]>>nidBitPos)&0x1);
}

// setSpikeGenBit for given neuron and group..


void SNN::copyNetworkConfig() {
	checkAndSetGPUDevice();
	CUDA_CHECK_ERRORS(cudaMemcpyToSymbol(networkConfigGPU, &networkConfig, sizeof(NetworkConfigRT), 0, cudaMemcpyHostToDevice));
}

void SNN::copyWeightState (RuntimeData* dest, RuntimeData* src,  cudaMemcpyKind kind, bool allocateMem, int grpId) {
