「CACHE」を含む日記 RSS

はてなキーワード: CACHEとは

2025-01-17

[] The Comprehensive Compendium of Programming Wisdom: Navigating the Multidimensional Landscape of Software Craftsmanship

Programming proficiency necessitates a comprehensive understanding of multifaceted concepts, paradigms, and philosophies that underpin the art and science of software development. The Unix philosophy, with its emphasis on modularity, simplicity, and composability, serves as a foundational ethos for elegant code design. This philosophy advocates for creating small, focused programs that excel at singular tasks, facilitating the construction of complex systems through the judicious composition of these atomic units.

Algorithmic Mastery and Data Structure Optimization

Proficient programmers must possess an encyclopedic knowledge of algorithms and data structures, enabling them to architect solutions with optimal time and space complexity. This encompasses a deep understanding of sorting algorithms (e.g., quicksort, mergesort), searching techniques (binary search, depth-first search), and advanced data structures (red-black trees, B-trees, Fibonacci heaps) The ability to analyze algorithmic efficiency using Big O notation is paramount for creating scalable solutions.

Paradigmatic Versatility

Object-Oriented Programming (OOP)

OOP principles—encapsulation, inheritance, and polymorphism—form the bedrock of modern software architecture. Mastery of design patterns (e.g., Singleton, Factory, Observer) and SOLID principles is crucial for creating maintainable and extensible codebases.

Functional Programming (FP)

The FP paradigm, with its emphasis on immutability and pure functions, offers a powerful approach to managing complexity and facilitating parallel execution. Proficiency in higher-order functions, currying, and monads is essential for leveraging FP's full potential.

Advanced Language Features and Metaprogramming

Expertise in language-specific advanced features, such as C++'s template metaprogramming or Python's metaclasses, allows for the creation of highly generic and reusable code. Understanding compiler theory and the ability to write domain-specific languages (DSLs) further expands a programmer's capabilities.

Concurrent and Parallel Programming

In an era of multi-core processors and distributed systems, mastery of concurrent programming models (e.g., actor model, communicating sequential processes) and parallel algorithms is indispensable. This includes proficiency in lock-free data structures, memory models, and synchronization primitives.

Systems Programming and Low-Level Optimization

A deep understanding of computer architecture, operating systems, and memory management enables the creation of highly optimized, low-level code. This encompasses knowledge of cache coherence protocols, CPU pipeline optimization, and assembly language programming.

Security and Cryptography

In an increasingly interconnected world, a thorough grasp of cryptographic principles, secure coding practices, and common attack vectors (e.g., buffer overflows, SQL injection) is crucial for developing robust and secure systems.

Version Control and Collaborative Development

Proficiency in distributed version control systems (e.g., Git) and collaborative development practices (code reviews, continuous integration) is essential for effective team-based software development.

Testing and Quality Assurance

Advanced testing methodologies, including property-based testing, fuzzing, and formal verification techniques, are indispensable for ensuring software reliability and correctness.

 

In conclusion, the pantheon of programming knowledge extends far beyond mere syntax mastery. It encompasses a rich tapestry of theoretical concepts, practical skills, and philosophical approaches that, when harmoniously integrated, enable the creation of elegant, efficient, and robust software systems. The relentless pursuit of this multifaceted expertise is the hallmark of a truly accomplished programmer.

2024-11-07

AMD3D V-Cache、なんであまり性能良くならないのか

技術的に凄そうなのに、あまり性能が良くなってない

接合部分でデータのやり取りをするときボトルネックで打ち消されているのか・・・

2024-11-01

新しいAIハードが出てくるのを期待しつつ、ずっとRTX 3090を使っている

AIが盛り上がって数年経つが、個人が買えるような価格帯で、良いAI向けのハードが出てこない。

RTX 3090のVRAM24GBを大事に使っているが、そもそもVRAMに入らないモデルの方が多い。

複数AIを立ち上げるなんてのは、VRAM容量が溢れるので、そもそも動かせない。

動けばNVIDIAの Nsight Systemsなどで遅い所などを探せるが、そこまでいかない。

複数SSD仮想メモリにするというのも、RTX 3090のNVLink BridgeでVRAMだけ拡張するなんてのも世の中に出てこない。


Appleもそろそろ出してくるかと思っていたが、M4普通の順当進化だった。

M2 Ultraはチップtoチップ接続し2.5TB/sを謳ったが、同じチップを繋げたのでいらない機能が倍になっただけだった。

M4 Ultraで、片側のチップGPU or NPU+帯域の広いGDDR or HBMになればいいが、あまり期待が出来ない。

GPU or NPUのコアが増えたとしても、L2/L3キャッシュの容量が少なすぎる、増やしても距離が遠ければ性能も出ないので、

AppleAMDのように3D V-CacheSRAMを積み、Hybrid Bondingで上下の帯域を確保してくれないだろうか


IBMはTelum IIとSpyreを出してきたがエンタープライズ向けなのでパス

Groq社がLLM用LPU、HyperAccel社がLLM用ASICを出して来たが、

Groqは1枚のPCIeカードでは全くメモリ容量が足りず役に立たなそうで、HyperAccelはサーバー前提でこちらも個人から手が出しにくい。

FPGAHBMが載ったPCIeカード個人向けには販売できるような価格でもなければ、そもそも販売すらされない。

ジムケラー率いるTenstorrentも1枚のPCIeだとメモリが足りないし、Ethernetでなんとかやりくりしようとしているが帯域に引っ張られそうに見える。

NextSilicon社がMaverick-2というIntelligent Compute Accelerator (ICA)というのも出してきたが、HPC向けで個人利用からは遠い。


中国も良いのが出てきていない。

Biren、Fuzhou Rockchip、VeriSilicon、Moore Threads、LinJoWing、Loongson、JingJia Micro、Cambricon、Vastai Technologies、Xiangdixian Computing、Enflame Technology、MetaX、Zhaoxin、Lingjiu Microelectronics、

DengLin Technology、Iluvatar CoreX、Innosilicon、Horizon Robotics、Black Sesame Technologies

色々あって追いきれないが、何か飛び出て良いのが出てきたというのは聞かない(日本いるかからもしれないが)

2024-10-09

anond:20241009183035

サンキューchatgpt

docker build --no-cache使用すると、Dockerキャッシュを一切使用せず、すべてのステップを再実行します。ただし、ベースイメージに関しては少し異なる動作します。

ベースイメージダウンロードについて

ベースイメージキャッシュ:

docker build --no-cache使用しても、ベースイメージ(FROM で指定されたイメージ)は一度ローカルダウンロードされていれば再度ダウンロードしません。

ベースイメージローカル存在しない場合は、インターネットからダウンロードされます

ローカルにすでにある場合は、--no-cache でもそのまま利用されるので、ベースイメージを毎回ダウンロードしているわけではありません。

ベースイメージサイズ

UbuntuベースPythonイメージは通常1GB程度になることが多いですが、軽量なイメージ(例えばbookwormやslimタグ)を使用すると、サイズを大幅に削減することができます

bookworm(Debian 12ベース)は、一般的パッケージが少ないため、通常の ubuntu イメージよりも軽量です。

例えば、python:3.11-slim-bookworm のようなイメージはかなり小さく抑えられており、数百MBに収まることがあります

まとめ

docker build --no-cache でも、ベースイメージローカルにある場合は再ダウンロードされません。

ベースイメージが軽量なもの(例:bookworm)であれば、ビルドが高速になる可能性があります

イメージサイズが大きくないため、毎回のビルドが速いと感じられるのかもしれません。

詳しい人教えてくれ

docker build --no-cachedocker buildしたとき、一切キャッシュを使わないということやろ?

そしたらベースイメージを一からインターネッツからダウンロードしてきてるんか?

ubuntuベースpythonイメージだったら結構サイズになりそうなものだけど(1GBくらい?)

これを毎回ダウンロードしてきてるんか?

それにしてはbuild終わるの早いような。bookwarm使ってるから小さくて済んでるからか?

2024-09-23

2024-07-29

2024-06-20

anond:20240620092804

これだけCacheやらメモリリッチに使う計算一般的になったのに、あのしょっぱいキャッシュメモリ周りはなんだったんだろうな。

あれさえなんとかなりゃよかったのに。

結局ARMプログラムそのままじゃ動かなかったんだよな。

次のCPUは流石にその辺りは改善してくると信じたいところだがどうなんだろうな。言っても結局NPUは作れないだろうしまじ需要にあったHPC作れるのだろうか。

産業利用も研究利用も、金ぶち込んでAWSなりで借りた方が安いとか判断されかねんぞ。

G〇ggleまじで終わりがちかい・・・

広告ビジネス個人情報売るのがメインだから、結局実業とかインフラ的なものは力が入らなかったんだろね

stadiaとかcacheとか、「ニッチャリできなくて苦労だけのものバンバン切り捨てていきます!」みたいな姿勢が強まっている

そろそろだな

2024-04-06

パソコン、これから性能上がるんやろか

もう性能上がらんとか言われつつも上がってきたけど。


CPUは、クロック数は流石に限界っぽい、SRAMプロセス進んでも微細化されなくなった、

SRAM3次元で接合しても3D V-Cacheで性能上がらなかった。


メモリDDR側はレイテンシボトルネック、帯域も足りてない。

CXLで容量は増えそうだけど。


SSDPCIeの帯域増で早くなるけども、PAM4以降どうするのか。

PAM8, PAM16するのだろうけども。

FLASHの速度は変わらず、RAMキャッシュさせるのでなんとか凌いでいるのにRAMも速度上がってない。


冷却方法も新しいのは出てきていない。

コンセント供給能力限界も見えてきた。

2024-04-04

ヘルプマーク絶望

二十歳頃から精神科に通って20年弱経つ。時々不安に襲われ、電車パニックを起こすことがあるので、ヘルプマークを駅でもらった。過呼吸が起きる。そもそも他の人より体力もなく、仕事帰りはフラフラだ。席を譲ってくれるものかとカバンヘルプマークをつけている。優先席で立つ。

まあ、誰も譲ってはくれないんだな。見た目が人と違うわけではない。40前後、杖もついてない。特別に太っても痩せてもいない。見た目はそりゃ普通だ。パニック起こさない限りは、くたびれたサラリーマン。ただの疲れた人は立っとけ、と。

老い若いも譲ってくれない。車内で喧嘩が起きて、過呼吸が起きても気にも止めてもらえない。ちらっと見て無視スマホに戻る。または眠る。構わずに談笑する。ただの人扱いなんだ。

JR東武都営

何度もリュックについているヘルプマークをもぎ取られそうになった。改札に向かって歩いていたら、リュックを引っ張るオッサンがいた。振り向いたら恨めしそうにこちらを見ていた。

不眠のひどい顔をしていたときに、何度か譲ってもらったこともあった。同じくらい疲れてた人。きちんとお礼を言って分かれた。何だか申し訳なかった。眠る少しの時間を奪ってしまって。

人の優しさに絶望したいなら、何日間かつけてみることをお勧めする。もう私はつけていない。期待をすると裏切られる。かったるい。

ただの人として、パニックに怯えながら、片道40分、電車に乗る。座っていたらヘルプマークの人や、マタニティマークの人に席を譲る。

投稿を繰り返す精神障害者

https://webcache.googleusercontent.com/search?q=cache%3Ahttps%3A%2F%2Fanond.hatelabo.jp%2F20240403223541&oq=cache%3Ahttps%3A%2F%2Fanond.hatelabo.jp%2F20240403223541&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg60gEIOTA0MmowajSoAg6wAgE&client=ms-android-motorola-rvo3&sourceid=chrome-mobile&ie=UTF-8

https://megalodon.jp/2024-0404-0819-33/https://webcache.googleusercontent.com:443/search?q=cache%3Ahttps%3A%2F%2Fanond.hatelabo.jp%2F20240403223541&oq=cache%3Ahttps%3A%2F%2Fanond.hatelabo.jp%2F20240403223541&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg60gEIOTA0MmowajSoAg6wAgE&client=ms-android-motorola-rvo3&sourceid=chrome-mobile&ie=UTF-8

ログイン ユーザー登録
ようこそ ゲスト さん