HN user

keveman

1,161 karma

@keveman on twitter and github

Posts53
Comments21
View on HN
spectrum.ieee.org 1y ago

iOS 4 security flaw nostalgia

keveman
1pts0
lutra.ai 2y ago

Lutra.ai: Generative AI for Workflows and Apps

keveman
5pts0
www.eetimes.com 2y ago

Local conversation AI and translation and captioning

keveman
3pts0
www.crowdsupply.com 2y ago

AI in a Box

keveman
2pts2
github.com 2y ago

Fast inference of OpenAI's Whisper on Rockchip processors

keveman
2pts5
twitter.com 3y ago

MosaicML Joins Databricks

keveman
2pts0
dallery.gallery 4y ago

A prompt engineering guide for DALLE-2

keveman
242pts62
www.cerebras.net 4y ago

20B parameter GPT-3 model trained on a single Cerebras chip

keveman
2pts0
gweb-research-imagen.appspot.com 4y ago

Imagen, a text-to-image diffusion model

keveman
988pts634
neeva.co 6y ago

Neeva – ad-free search engine

keveman
3pts1
www.cerebras.net 6y ago

Wafer scale engine for neural network training acceleration

keveman
2pts0
arxiv.org 8y ago

Learning Transferable Architectures for Scalable Image Recognition

keveman
1pts0
www.tensorflow.org 9y ago

TensorFlow GPU performance

keveman
3pts0
research.googleblog.com 9y ago

Google Brain team – looking back on 2016

keveman
1pts0
services.google.com 9y ago

TensorFlow developer summit

keveman
3pts0
arxiv.org 9y ago

A Learned Representation of Artistic Style

keveman
1pts0
www.technologyreview.com 10y ago

Unsupervised learning: the missing link of AGI

keveman
2pts3
arxiv.org 10y ago

Recurrent Neural Networks for Set-To-Set Learning

keveman
1pts0
g.co 10y ago

Google Brain Residency Program

keveman
151pts58
www.chrisstucchio.com 12y ago

How to not get ripped off by High Frequency Traders

keveman
62pts148
www.khronos.org 12y ago

Making OpenCL look more like CUDA

keveman
1pts0
www.extremetech.com 12y ago

Orbital computing

keveman
2pts0
www.amsterdamtrader.com 12y ago

HF Trading tabloid: Tibra stole source code, says Getco

keveman
1pts0
nonchalantlytyped.net 12y ago

Church Numerals using C++1y Generic Lambdas

keveman
1pts0
www.xconomy.com 12y ago

Google getting too big

keveman
2pts0
trove.com 12y ago

CmdrTaco's Trove

keveman
91pts56
low-latency.com 12y ago

High frequency trading right on the ethernet switch

keveman
1pts0
isocpp.org 13y ago

Stupid Name Lookup Tricks for C++11

keveman
1pts0
pugmarks.me 13y ago

Discover relevant articles from your network as you read the web

keveman
2pts0
nonchalantlytyped.net 13y ago

Norvig's Python Sudoku solver ported to C++11

keveman
2pts0

Moonshine author here: The warning is from Keras library, and is benign. If you didn't get any other output, it was probably because the model thought there was no speech (not saying there really was no speech). We uploaded ONNX version that is considerably faster than the Torch/JAX/TF versions, and is usable with less package bloat. I hope you would give it another shot.

This enables a true natural language voice interface to any device/appliance that currently has a touch pad or a bunch of buttons. Yes, faster than faster-whisper, but that's really an apples to oranges comparison, because useful-transformers uses the NPU on the Rockchip processors, so it works only on those. Whereas faster-whisper works fast on most/all platforms.

I met Bram in the Google Mountain View office. We chatted for over two hours. He was full of humility and curiosity and more interested in what I was working on (I was working on DistBelief back then). Hats off to a life full of impact and a legacy that will continue to impact programmers all over the world. RIP.

Yeah, you are right, alignas is still unsupported in many compilers. clang 3.2 supports it. However, unrestricted unions has been supported in many compilers for a long time now. I would use that in this case, since you already know the type 'T'.

Here is the C++11 way of specifying alignment :

    alignas(T) char buffer[sizeof(T)];
Or better still, just use the unrestricted union feature :
    union {
      T t;
    };
Just use &t in place of buffer.

I don't think std::function does any dynamic allocation when you initialize it with simple functions. When you initialize it with function objects or lambda expression, most, if not all implementations use the small object optimization to avoid dynamic allocation when possible.

The title is not 100% accurate. CUDA has come to mean the tool chain and ecosystem for GPGPU programming. Part of the system is the particular dialect of C++ in which a programmer can mix and match CPU and GPU code. It also includes the compiler that translates the GPU part to object code (the ISA is called PTX [1] which is one level removed from the actual GPU's ISA). What NVIDIA has open-sourced is the part that translates LLVM IR to PTX. The greatest benefit of this will be for people who are developing alternate programming models/DSLs for programming GPUs. They can translate their DSL to LLVM IR, which they probably are already doing, and then generate PTX using the open-source compiler.

[1] http://en.wikipedia.org/wiki/Parallel_Thread_Execution

Should we all take a serious look at functional programming? Absolutely. Should we start learning a functional programming language? Maybe not. C++ is a multi-paradigm language in which one can write functional programs, and it lends itself nicely to switching back to stateful imperative programming when needed.

It looks like a worthy competitor to OpenCL and CUDA. The programming model is quite similar to both of them. The current implementation is on Windows only using DirectCompute API, but since they are making it "open", we should hopefully see implementations on other platforms using more close to the metal APIs.

I find it easier if I disassociate the English meanings of the words from really how the words are used to mean different things in computer science. To me, concurrency is only in the programmers mind. That is, a programmer writes concurrent programs with different threads of control, say, one to process the user input, one to process the network packets etc. In reality, the multiple threads of control could really be running SEQUENTIALLY. That was the case when there was only one core. Remember, pthreads predates multi-cores.

Parallelism is something more concrete, it REALLY exists in the real world. A programmer could just imagine and write a sequential loop, but if the compiler deemed it to be really parallel, it could really run parts of the loop in parallel. Of course, a programmer could write a concurrent program, as in, multiple threads of control, and the system could really run it in parallel, say on different cores of a multi-core processor. So remember, concurrency is abstract, parallelism is concrete.

Where would you place expression templates that help designers to embed simple domain specific languages in C++? The end user doesn't have to know much about templates, but this approach leads to high performance AND very concise and expressive code.