dpzmick | 4 years ago | on: Time Card and PTP on a Raspberry Pi Compute Module 4
dpzmick's comments
dpzmick | 4 years ago | on: Berkeley Lab Debuts Perlmutter, World’s Fastest AI Supercomputer
> Note: Perlmutter’s “AI performance” is based on Nvidia’s half-precision numerical format (FP16 Tensor Core) with Nvidia’s sparsity feature enabled.
FP16 is a 16 bit floating point format. FLOPS for top 500 are measured with LINPACK HPL, which says it is over 64 bit floating point values (I think):
> HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the High Performance Computing Linpack Benchmark.
(from https://www.netlib.org/benchmark/hpl/)
This isn't totally disingenuous though. These FP16 operations are very useful for some kinds of calculations.
dpzmick | 5 years ago | on: Ubiquiti Networks Breach
dpzmick | 5 years ago | on: Apple M1 vs. Ryzen 3900X vs. Intel I9 in Software Development
but it's pretty straightforward to just copy giant buffers in order/out of order and squint really hard at the results
dpzmick | 5 years ago | on: Halide Mark II
dpzmick | 5 years ago | on: Show HN: Conducto: Next-Gen CI/CD in Python, Not YAML
I also use conducto's predecessor to manage "data science" workflows (simlar to https://www.conducto.com/docs/advanced/data-science) on a large computer. It is miles ahead of the alternatives we've tried (and built).
The biggest win we've gotten with conducto comes from the composability. We can ship part of our application as a function which returns conducto nodes. Someone else can call this function an stick it into their own tree (code, not configuration!)
Our integration test suite builds a conducto tree ships containing test code from 4ish different libraries (developed by 2 different teams), each of which includes it's own tree-building functions. Likewise, we ship many of our applications for the large computer as functions which return conducto nodes. Users just call our functions and embed our portion of the workload into their own trees.
Give it a shot!
dpzmick | 6 years ago | on: Yoda conditions
while (1) {
int ret = ...;
if (ret == ...) break;
if (ret == some_other_condition) break;
// additional termination conditions....
// do exactly one thing
}dpzmick | 6 years ago | on: Big O Notation – Using not-boring math to measure code’s efficiency
More realistically, the page of memory that items[0] is sitting on could be swapped to disk, requiring the OS to do some big operation.
trying to write a piece of code with the big-O you are looking for generally has a huge number of caveats. I'm undecided on whether this is a feature (abstraction) or a flaw (easily misleading)
dpzmick | 7 years ago | on: Why Love Generative Art?
There's tons of opensource audio/music generation software (ChucK, supercollider/overtone, csound, vcvrack), and there's a fun (expensive) world of modular synthesizers lurking around the corner (euclidean rhythm generation is a common technique, many people use logic gates with random of sequenced high/low signals to create interesting patterns, random voltage generation is used for pitches, etc).
If you go super far down the rabbit hole, I've seen examples of people doing generative visual art with a modular synthesizer, modulating video loop parameters, or running oscilloscopes. Anything is possible!
dpzmick | 8 years ago | on: Outsmarting the compiler: Short story about optimization
But, you are right that it probably doesn't matter. The minimal benchmarking I did convinced us that there wouldn't be much of a cost. The code that actually ended up being committed to our project has the branch.
dpzmick | 8 years ago | on: Outsmarting the compiler: Short story about optimization
dpzmick | 8 years ago | on: Outsmarting the compiler: Short story about optimization
dpzmick | 8 years ago | on: Outsmarting the compiler: Short story about optimization
dpzmick | 8 years ago | on: Outsmarting the compiler: Short story about optimization
dpzmick | 8 years ago | on: Outsmarting the compiler: Short story about optimization
dpzmick | 8 years ago | on: Outsmarting the compiler: Short story about optimization
For some additional context, these structs are packed wire-line protocol structs. In reality the padding bytes are full of other fun details.
CERN uses PTP on steroids for physics experiments: https://white-rabbit.web.cern.ch/