はてなキーワード: インメモリとは
メインメモリがアプリとデータで圧迫されているから、アプリやデータをSDカードに移せばよいのだ
しかし最近そんなにアプリ入れてたっけ?と思いながら設定画面を確認しつつアプリをSDカードに移動する
ああ、原因はこれか、kindle
そういやunlimitedを試しているのもあり、いろいろ落としたんだった
速攻でアプリをSDに移動する、しかしデータは移動してくれない
いや、データも移動したいんだよ
Androidをroot化して無理やりSDカードに移しても起動しないようで
コミックスを現物でなく電子で買うのは場所を取らずに大量に保有したいからだよね
読んだからいいや、じゃなく自分のものとして読み返せるよう持ってたいんだよね
大きくないメインメモリを圧迫してしまうから、大量の書籍データを端末にダウンロード保持することはできないし
読みたいときだけ落とす、という形式にすると通信費が馬鹿にならない
じゃあ別に今までどおりでいいや
kindle利用を制限する利点がそんなに自分にはあまりなかった
Google Play MusicはデータのSDメモリ移動できたのに
Android版のはてブアプリで、共有からはてブアプリを開いても当該のコメントではなく、以前に開いていたはてブが表示されることがある。
例えばこういうパターン。
これ、何で起きるかというと、まだアプリがバックグランドで生きている状態で送られてきているインテントを正しく処理していないためで(推測)、以前はメインメモリが少なく、バックグラウンドに回ったアプリが殺されやすかったので再現性は低かったのかもしれないけど、RAMの大容量化が進んだ現在、ほぼ100%再現する。
ついでに言っとくと、ActivityにsingleTopを指定していると、onCreate()ではなく現在生きているActivityのインスタンスにonNewIntent()で通知されるので、そこをチェックした方がいいと思う。
インテル、8ソケット15コアのXeon E7-8800 v2などを発表
8ソケット15コアって最大120コア・・・
それはいいけど、メモリーのバス待ちで100%で稼働し無さそうだな・・・
もうCPUが専有できるメインメモリーと、共有のメインメモリーを分けて管理しないとバス待ちだけで輻輳すんだろ。
アーキテクチャー的に、シングルなメインメモリーは無理だ。コア固有のメインメモリーと、コア共有なメインメモリーはハード的に分けて結線して
120コアの並列でアドレスが違うにしろバス待ちなんてしたくねぇ。
そのレベルの並列プログラムのボトルネックはまず間違いなくメインメモリ。メインメモリーのバス待ちが遅くてやってられないというレベルでしょ。
寝付けない夜、どこからともなくやってくる嫌な記憶。一度思い出すと関連する記憶が永遠と湧き出てきて、もう寝付けない。お前らも体験したことあるよな。俺もこれに苦戦してて、色々な対処法を試してきた。その中でマシな方法を見つけたから、紹介する。即効性があるし、かなり手軽だから、とりあえずやってみ。
結論から言うぞ。海馬を鍛えるんだ。海馬っていうのは記憶を司る部分ってのはぽまえらも知ってる通り。そこが働くと、記憶をコントロールできるらしい。逆にストレスが溜まると、海馬が萎縮する。PCで例えるとメインメモリってやつ。そこが小さいと、1つのことだけにとらわれてネガティブにネガティブになっちまう。逆にそこが大きいと、おおらかに考えられるようになるらしい。by Google
まぁいくら理論がご立派でも、効果を実感できなきゃどうしようもないよな。さっそく実践に移ろう。
方法を言うぞ。「脳トレ」をするんだ。その中でも「記憶系」のやつ。フラッシュゲームとかでもあるけど、今回は寝てる時にもできる海馬トレーニングを紹介する。2つあるから、好きな方をやってみてくれ。
1、多重しりとり
頭の中でしりとりをする。このとき、2つ前の単語も思い出す。例えば、「しりとり」「りんご」ってやるよな。次に「ゴリラ」って言う前に、「しりとり」「りんご」を思い出す。そして「ごりら」。 次は「りんご」「ごりら」「ラッパ」とか。『なんだ簡単じゃんww』と思ったそこのぽまえ。意外と難しいぞ。やる回数や、即出単語とかもあんまり気にしなくていい。適当に疲れたらやめる。
2、除算乗算チェーン
暗算だ。かけ算と割り算を交互にやっていく。例えば
100/7=14
14*8=96
96/6=...
こんな感じだな。あまりは気にしないし、忘れたら適当な数字からはじめる。これも無理しすぎず、疲れたらやめる。やりずらいなら足し算やら引き算やらに切り替えてもおk。
どちらの方法も単語や数字で頭が一杯になる感覚が大事。はじめは脳が疲れて嫌なことを思い出さなくなる。だがしばらくやると脳が広くなった感覚(こうとしか言いようがない)がになって嫌なことは思い出すんだが、なんだかすぐ頭から消えるようになる。客観的に考えられるようになるっていうか・・・説明しづらいが、嫌なことをいつまでも考えなくなることは保証する。
やってみてダメだったらどうぞ叩いてくれ。だが、もし効果があったなら、同じことで悩んでる奴らに、この方法を教えてやってくれ。
Xbox360はGDDR「3」ね。
あとPCI-Eに刺すGPUは元増田が書いてるように転送がむっちゃ遅くなるから、CPU・マザーボード・GPU全部で包括的な革新が起きないとPS4の構成に同じ価格帯で並ぶには5年程度じゃギリギリ無理。
GPU DirectもあくまでマルチGPU間の並列処理データ受け渡しのオーバーヘッドを無くす技術だから、普通のGPGPU処理でCPU・メインメモリ頼りの構図はnVidiaだけが頑張っても覆せない。
PS4や次世代箱に勝てる構成が近い将来に来るとしたらAMDのHSAかIntelのXeon Phi統合CPUがハイエンド向けに作られた時だけじゃないかな
PS4は主記憶にGDDR5を使ってきたので、同じ主記憶向けメモリという括りでDDR4 SDRAMを比較対象にした。
当然ながらPCでGDDRがメインメモリに使われる可能性はまずあり得ない。GDDRを使うとメモリはMBに直付けと言う選択肢しか無くなる他、特許の問題が絡む。モジュール開発を前提にコストを削減しているPCでは展開しにくく、そもそもメモリは直付けであるUltrabookやタブレットではこれを行かせるような設計がまず難しいのと、すでにDDR3で直面している発熱と消費電力の高さという問題が存在するためにGDDR5がメインメモリに採用される事はまず無い。
従って、主記憶の速度という単純な物差しを持ち出すのならば、GDDR5とDDR4 SDRAMを比較対象にした。
ちなみに
また、GPUコンピューティングの世界ではGPU間でメインメモリを通さずにデータ転送できる仕組みが現在進行中で、NVIDIAはCUDA5.0でGPUDirectと言う仕組みを導入しこれを実現した。これは一見するとDMAによく似た仕組みに見え、結果としてやっている事は確かに似ているのだが、Remote DMAといった代物で結構中身が違う。CPUはもちろん、メインメモリを通さずにGPU間でメモリ転送を実現してやろうというものだ。さらに、ここにもうちょっと賢いコントローラをはさんでやると言う事が考えられていて、これは実はAMDだけではなく、NVIDIAが従来やっていたGPUボックスというGPUをSLIして専用のコントローラ積んで、PCIeと専用のバスで繋ぐようなシステムを作っていたが、それの応用、あるいはIntelがXeonPhiでやろうとしている。
なので、メモリ帯域では
と言う事になる。
最初に言っておくと、増田はSCEが嫌いな方でPS3もVitaも持っていない。
そんな増田だが、PlayStation4発表でのハードウェアに対する誤解の数々を見てちょっとばかり怒りを覚えたので少し書いておく
いきなり「何が違うんだ?」と思う人や「何も違わないだろ?」と言う人も居るかも知れない。
だが後半を語る上でもこれは重要な話なので省略しないでおく。
最近のPCは当たり前のように64bitのメモリ空間を扱えるようになった。
この増田を読んでる人でも64bit OSを使っている人は少なくないはずだ。
これをもたらしたのは、x86 CPUを作ったIntelではなくx86互換CPUを作っていたAMDである。
じゃあIntelは何をしていたのかと言うと、64bit CPUを作っていた。x86を完全に捨てて。
Intelは「IA-64」という64bit CPUを開発して商品も出していたが、これは現在ではほぼ完全に消えている。
確かにIA-64は64bitをネイティブで扱えて「x86の古臭い負債」が全く無かった。しかし、現実世界はx86で作られた既存のソフトウェアを求めたのだ。ゲーム業界でも似たような話を聞いた気もする。
それに対して、AMDは「64bitを扱えるx86」を作ってしまった。これが「AMD64」であり、現在業界標準としてx86-64と呼ばれているものである。
知っての通り、x86-64は現在のIntel CPUでも対応している。AMDが作った命令を使わされる事になったIntelは何を思っただろうか。逆に、これまでIntelの命令を使ってきたAMDは何を思っていたのだろう。
PS3に搭載されていたCellは、非x86でスカラプロセッサのPowerPC CPU(PPE)と、複数のベクトルプロセッサSPEを組み合わせたヘテロジニアス(非対称)プロセッサだった。(スカラ、ベクトルについてはググろう)
スカラプロセッサが得意な処理、ベクトルプロセッサが得意な処理を両方とも高速に実行できる。それがCellの目指した「夢」だった。
スカラプロセッサとベクトルプロセッサのプログラム最適化は全く別の概念で、プログラマーにとっては野球とサッカーを同時にやらされるような物である。
しかも、スカラプロセッサとベクトルプロセッサの間でデータの交換もある。野球とサッカーのキャッチボールて。
スーパーコンピュータ「京」もスカラとベクトルの合わせ業で池田某氏に何度も叩かれるほどの超絶難産だった事は記憶に新し…いっけ?
それが原因でPS3の性能を最大限に引き出したソフトはほとんど存在せず、こともあろうにXbox360とのマルチソフトが溢れる結果となった。(ちなみに増田は360も持ってないのでエルシャダイをプレイ出来ていない、問題だ)
それに対し、PCの世界ではPS3・360が発売してしばらく後に新たなヘテロジニアスコンピューティングが生まれていた。
CPUに比べて進化が止まらないGPUをベクトルプロセッサの代わりとして使う試みだ。
GPUはスパコン用のベクトルプロセッサやCellのSPEと違い、最近のどのPCにも搭載されているので量産効果で割安というメリットがある。
DirectXのバージョンも2桁に突入し機能が増えるにつれて、「もうこれで計算すれば良いんじゃね?」となったわけだ。
結論から言うとこの試みは無茶苦茶ヒットした。近年開発されたTOP500スパコンでGPUが使われていないものを探すのが難しくなってきたし、
最近はPhotoshopなんかの比較的身近なツールもGPUコンピューティングに対応してきてヌルヌル動くようになっている。
しかし、そんなGPUにも欠点はある。「CPU・メモリから絶望的に遠い」のだ。
IBMが発明しMS-DOS・Windowsが動くことで爆発的に普及した今のPCは、GPUを外付けにすること前提で設計されていた。
DirectXやOpenGLのような例外を除いて、基本的に現代のOSはCPUとメインメモリでソフトを動かすように出来ている。
GPUも、一旦メインメモリ上でGPUのRAMに載せるためのデータを生成し、CPUから「GPU動かすよー」という命令を出さなければ動かせないのだ。
これはGPUにとって致命的すぎる欠点だった。これが原因で、遅さを跳ね返せる最新のミドルレンジ・ハイエンドのGPUでなければ逆にCPUより遅くなってしまうケースばかりだ。
現実的な理由で始まったGPUコンピューティングがぶち当たった現実的な壁である。
このGPUの欠点を克服する方法について、AMDはかなり前(少なくともGPUコンピューティングが流行るより前の2007年以前)から取り組んでいた。
GPUコンピューティングが遅いのはCPUから物理的に遠いため命令を送る時間が掛かり、メモリの扱いも異なるせいである。
CPUからGPUに命令を送る遅延を無くし、CPUのメモリとGPUのメモリを交換する時間も減らせばGPUコンピューティングのデメリットは消え失せる。
夢のある話だ。
しかし、AMDには発想と設計技術はあったがカネと製造技術はIntelと比べて絶望的に劣っていたため、
初めてのCPUとGPUを統合したプロセッサはIntelに先を越されてしまった。(IntelのGPUが絶望的に遅いからって実質出てないなんて言っちゃダメだ)
これにはAMDもかなり堪えただろう。けれどもAMDは戦略を曲げなかった。
IntelのGPUが絶望的に遅いのでほとんど意味は無かったが、少なくとも前世代のIntel GPUに比べると格段に実効性能が上がっていたのだ。CPUとGPUを近付ける統合には間違いなく意味があったということである。
AMDはCPUとGPUを同じチップにするだけでは無く、メモリ「アドレス空間」も一緒にする道を目指した。
こうなるとCPUの使っているメモリがGPUから直接扱え、GPUの使っているメモリがCPUから直接扱えるようになる。
これが実現するとCPUとGPUが完全なヘテロジニアスコンピュータに一歩近付くのだ。
2011年にやっとAMD初めてのCPU+GPUであるAPUを出せたが、メモリアドレス空間はまだ別々だった。
2012年になってもメモリ空間は別々のままだったが、AMDはARM(iPhoneやAndroidやWindows Phoneに載っているARMである)と合同でHSA(ヘテロジニアス・システム・アーキテクチャ)を推進すると発表した。
世の中の現実的な人々は笑った。「アーキテクチャだけを作ってもハードとソフトが出てこないんじゃ話になりませんよ」と。
同じ2012年、AMDは2013年中にHSAの第1世代製品を出すとだけ発表し2012年は終わった。
そして2013年2月21日(米国時間20日)、Sony Computer EntertainmentはPlayStation 4を発表した。
Cellはコケてしまったので載らない事は誰もが知っていたが、載っているハードウェアに一部の人が驚いた。
―HSAである。PC用のHSA対応APUがまだ正式発表されていない中で、なんとHSAを載せてきた。(2013年末発売だから当たり前だというツッコミは止めろ!)
CPUはx86-64のJaguar 8コア(ちなみにPC向けJaguarは4コアまでだ)、GPUはRadeon HD 7800相当でPS3と違いガチで1.8TFLOPS(理論上1秒間に計1.8兆個の小数点を含む計算を実行可能)のスペックを持つ代物だ。
このCPUとGPUは8GBのGDDR5メモリを共有して動作する。8GBと聞くと最近のPCから考えると少なく聞こえるかも知れないが、(わたしのメモリは16GBです)
GDDR5とはGPUの描画計算を速く済ませるために作られた超高速メモリであり、ご家庭のDDR3メモリとは比べ物にならない速さが出せる。
実際の所PS4がHSA対応かは正式発表されていないのだが、PC向けJaguarはHSA対応と発表されており、SCEもPS4をAPU(CPU+GPU)と呼んでいてこの変態メモリ構成とすると、発売までにクッタリでスペックダウンしない限りHSA確定と見て良いはずだ。
また、PlayStationはこれまで一度もx86系CPUを採用した事が無く、これが最初(で最g)のx86採用機となる。
Intelが初代Xbox(Celeron搭載)であっさり諦めたx86のゲーム機市場制圧の夢を、AMDが思いもよらぬ形で果たしたのだ。
これまでPCでしか発売されてこなかったDiabloが、x86-64のPS4向けに初めてコンシューマ版を発表した事もx86-64の採用が決してつまらない事ではなかった証だろう。(Diabloと戦うハメになるサードの方々にとっては非常につまらないが)
CPUとGPUの”フュージョン”…(HSAは以前はFusionと呼ばれていた。そういえばドラゴンボールの映画も今年やな…)
AMDが長年の間見てきた夢が、PS4で初めて現実世界に現れることになる。(※ただし次世代XboxもHSA採用でPS4より先に発売したりしない世界線に限る)
こんな馬鹿らしいほど夢が詰まったマシンを「x86搭載だからPCみたいで夢が無い」という一言で切り捨ててしまう人に増田は絶望した。
でも、それってユーザーの夢にどう繋がるの?
性能の引き出し易さがPS3と比べて格段に良くなるのでPS3版ラストレムナントや人喰いの大鷲トリコのような非情な現実が減る。以上。