 		std::cout << "Memory     :: Global: " << create_memory_string(prop.totalGlobalMem) << " Constant: " << create_memory_string(prop.totalConstMem) << std::endl;
 		std::cout << "              Shared Per Block: " << create_memory_string(prop.sharedMemPerBlock) << " L2 Cache: " << create_memory_string(prop.l2CacheSize) << std::endl;
 		std::cout << "              Bus Width: " << create_memory_string(prop.memoryBusWidth) << std::endl;
-		std::cout << "Number     :: Multiprocessors: " << prop.multiProcessorCount << " Warp Size: " << prop.warpSize << " (=Cores: " << (prop.warpSize*prop.multiProcessorCount) << ")" << std::endl;
+		std::cout << "Number     :: Multiprocessors: " << prop.multiProcessorCount << " Warp Size: " << prop.warpSize << " CUDA Cores: " << cudaCores << std::endl;
 		std::cout << "              Maximum Threads Per Block: " << prop.maxThreadsPerBlock << " Asynchronous Engines: " << prop.asyncEngineCount << std::endl;
 		std::cout << "Dimension  :: Block: [" << prop.maxThreadsDim[0] << " x " << prop.maxThreadsDim[1] << " x " << prop.maxThreadsDim[2] << "] Grid: [" << prop.maxGridSize[0] << " x " << prop.maxGridSize[1] << " x " << prop.maxGridSize[2] << "]" << std::endl;
 		std::cout << "Texture    :: Alignment: " << create_memory_string(prop.textureAlignment) << " Pitch Alignment: " << create_memory_string(prop.texturePitchAlignment) << std::endl;

	return ss.str();
}


/*
UNREPORTED PROPERTIES:

		ecuda::device device( i );
		const cudaDeviceProp& prop = device.get_properties();

		int cudaCores = -1;
		try {
			// this solution for getting the number of CUDA cores from:
			// https://devtalk.nvidia.com/default/topic/470848/what-39-s-the-proper-way-to-detect-sp-cuda-cores-count-per-sm-/
			cudaCores = ConvertSMVer2Cores( prop.major, prop.minor ) * prop.multiProcessorCount;
		} catch( std::runtime_error& ex ) {
			std::cerr << "WARNING: number of cores for the hardware's SM version is not defined in program source code." << std::endl;
		}

		std::cout << "========================================================================" << std::endl;
		std::cout << "::Device " << i << " is a: " << prop.name << std::endl;
		std::cout << "------------------------------------------------------------------------" << std::endl;
