Windows 10 環境下・GPUが２つ認識されている場合に device設定をきちんとしないでも，2つ目のGPUでcupyの処理を実行させるための逃げの方法の備忘録

# 言い訳・背景
ゲーミングPC崩れのノートPCを手に入れたので，それを使ってGPGPUであったり機械学習で遊んでみようとしている．
だが，intel CPU付随のGPU（？，intel uhd graphics 630）に処理が入るばかりで一向に別体のGTX 1650に処理が入らない．
cupy.cuda.Device でデバイス指定をすればよさそうだが，何故かうまくいかない．
自分のレベルが低すぎて，自分を救ってくれるHowToサイトがない．自分も一生懸命レベルを上げようというモチベーションもない．
考えてみると，FreeCADやParaViewもGPU使っている感じもないし，何か設定が必要そうだ，が，いちいちアプリで設定するのは面倒くさい．
しばらくしてまっさらな状態から同じことをしなければならない状態になった時にはきれいさっぱり忘れてしまい，同じところに躓いて同じ時間浪費する．
なので，次同じ状況になった場合，自分を救い上げられる最低レベルのメモを残す．

# 環境
検討した環境・前提条件を示す．
## hardware
| contents | spec. |
|:---------------------:|:----------------------------|
| CPU | 2.6GHz  / Intel Core i7-9750 |
| memory | 16GB |
| GPU0 | Intel UHD Graphics 630 |
| GPU1 | NVIDIA GeForce GTX 1650 |
## software
| contents | spec. |
|:---------------------:|:----------------------------|
| Windows | 10 Pro 1909 |
| Python | 3.7.3 / Spyder 4.0.0 |![undefined]()

| cupy | 6.0.0 |

# 参考・出典
下記のサイト通りに行い，spyder/pythonを登録しました．
https://pc-karuma.net/windows-10-high-performance-gpu/
こちらをご参照いただければできます．
以上

# 備忘録
参照先にたどり着くまでに時間がかかったこと，リンク切れなどの場合に備えて自分の作業を残す．
行うことは「グラフィックとして高負荷のプログラムだ」とシステムに登録する作業のようである．
## 登録するプログラム・実体の確認
![作業１](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/7c2f5396-bce1-d711-b418-bcb118415e0a.png)
1. 左下のwindowsボタンを押すか，キーボードのwindowsボタンを押下
2. プログラムのメニューの中から，GPU1（２つ目のGPU）で計算させたいプログラムを探し，右クリック
3. 「その他」>>> 「ファイルの場所を開く」と進む
そうすると，エクスプローラでショートカットの場所が開かれるので，パスがわかる．
（ショートカットをこの後で参照させると，リンク先に勝手に行くのでＯＫ）
![エクスプローラ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/31a62fc8-ceba-31bb-b1f6-675746752676.png)
## プログラムの登録
![作業２](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/d79f85dc-a4c6-5301-9b5c-436cfa21eee9.png)
1. 左下のwindowsボタンを押すか，キーボードのwindowsボタンを押下
2. 左の設定項目を押下．すると「Windowsの設定」が立ち上がる．![作業３](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/fa656e2d-8c67-13fc-cf44-a62ffa5679db.png)
3. 「システム」を選択![作業４](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/24c260c2-37ea-e87a-794d-bd5beaf29057.png)
4. 「ディスプレイ」の項目を選択
5. ページの最下部にある「グラフィックの設定」に進む![fig6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/91be24e6-2642-73a8-2d5c-bd858ce23d15.png)
6. Windowsネイティブなアプリ出ないものはどうやら「クラシックアプリ」として登録
7. 登録する実態ファイルを参照させるため，「参照」を押下．![fig7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/a9e8f6dd-8816-3796-f2be-b100550242e9.png)
8. エクスプローラが開くので，先ほどショートカットの置き場（スタートメニューの場所）へ進み，登録したいファイルを選択して「追加」ボタンを押下![fig8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/4ddad5a4-cc11-0846-c8ee-2d0951e38ca2.png)
9. 登録されたプログラムの「オプション」を選択![fig9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/d733b3aa-9b73-7b6c-ac6f-14e70590a8b4.png)
10. 説明に出ているように，「高パフォーマンス」を選択しGTX 1650を参照するように設定
11. 保存を押下して設定を保存．
これで，GPU1：GTX 1650で実行されるようになったはずである．
## 実行確認
適当なプログラムを用意して実行
![fig10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/cababa79-cfa4-3984-e24a-9ce45c6aebca.png)
すると，下記のように今まで使えてこなかった GTX 1650 が稼働し始めた．
![fig11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/507883/8449789f-bb46-63dd-7cfb-a8e9866830d9.png)
CPU・メモリ，GPU 0 （表示されてないが）に負荷がかからず GPU 1 のメモリと Cuda に負荷をかけることができた．
以上をもって，自分が行いたかったことができたと判断する．

## その他
本当は別途基本的な設定をかくなり，デバイス番号を指定できるようにするなりしたほうが良いのであろうが自分にはこれで十分と判断．
また，これは他のプログラムにも有効だということで動画表示やCAEのポストプログラムを登録した．おかげで今まで開けなかったファイルが開けるようになった．