human
恥ずかしい並行プログラムを解決するPythonでコンピュータープログラムを設計しています。グラフィックカードで並列プログラムを実行して、プログラムが重く、GPUで簡単に効率的に実行できるため、大きなスピードアップを取得したいと考えています。問題は、私が自分でCUDAを学ぶつもりはなく、NVIDIA 3090グラフィックスカードのためにこれを行うのに役立つPythonライブラリがどのようなものであるかわからないことです。適切なライブラリを見つけて、PythonプログラムをGPUにどのように配布できるかを示す、小さいが機能的なPythonの例を書きます。例では、各アイテムで長いデータのリストでSHA256を100,000回実行してみてください。または、それがライブラリで不可能な場合は、他の直感的な例を見つけてください。
gpt
pythonの'''numba'''ライブラリとhashlibライブラリを使ってこれを行う一つの方法を紹介します：

```
from numba import jit, cuda
import hashlib

@jit(target_backend='cuda')
def parallel_sha256(arr: list[str]):
    m = hashlib.sha256()
    for element in arr:
        for _ in range(100_000):
            m.update(bytes(element))
    m.digest()
```

このコードは、'''update'' メソッドをリストの各要素に対して 100,000 回コールし、'''digest'' をコールして '''sha256'' アルゴリズムを実行します。'''jit''デコレータを使うと、このコードはGPU上で実行しようとします。
human
JITとは何ですか？そして、これはAMDを使用する私の友人からも使用できますか？