はじめに
この記事では、CPUとGPUの計算能力に関する計算の並列化について簡単に説明します。 アルゴリズム自体の説明に進む前に、タスクを紹介します。
有限差分法によって問題を解決するためのシステムをシミュレートする必要があります。 数学的な観点から、これは次のとおりです。 いくつかの有限メッシュがある場合:

不明なグリッド値は、有限差分法による次の式によって検出されます。

CPUの並列化
CPUでの並列コンピューティングには、OpenMPに似た並列技術が使用されます。 並列は、並列ループと領域のサポートを提供するC#で使用される内部テクノロジーです。
並列での並列計算:
private void Parallelization(int n, int m, float[,] T, float eps) { int time;
GPU並列化
GPUでの並列コンピューティングには、CUDAテクノロジーが使用されます。 CUDAはNVIDIA並列コンピューティングアーキテクチャであり、GPUの使用によりコンピューティングパフォーマンスを大幅に向上させることができます。
CUDAでの並列コンピューティング:
#define CUDA_DEBUG #ifdef CUDA_DEBUG #define CUDA_CHECK_ERROR(err) \ if (err != cudaSuccess) { \ printf("Cuda error: %s\n", cudaGetErrorString(err)); \ printf("Error in file: %s, line: %i\n", __FILE__, __LINE__); \ } \ #else #define CUDA_CHECK_ERROR(err) #endif __global__ void VectorAdd(float* inputMatrix, float* outputMatrix, int n, int m) { int i = threadIdx.x + blockIdx.x * blockDim.x;