Took me exactly two searches - one to figure out what lsd stood for (which I'm sure you knew, so you wouldn't have the same issue) and then one more to pull up the paper.
348 karma · joined September 11, 2021
Took me exactly two searches - one to figure out what lsd stood for (which I'm sure you knew, so you wouldn't have the same issue) and then one more to pull up the paper.
In 20 years of googling there is only one project I had a hard time googling (https://dl.acm.org/doi/10.1145/390016.808445). It does not happen.
>HLS generally means you compile a very high level description of computation to VHDL/Verilog.
...
>Clash is not itself coming up with a digital circuit like HLS is doing. The developer is specifying the digital circuit.
...
>Clash is a compiler closely based on GHC that compiles Haskell code
what does it mean for clash to compile haskell code but not to come up with a digital circuit? haskell code (afaik) doesn't represent combinational or sequential logic. well maybe it does using clash (thanks to haskell crazy metaprogramming faciilities) but then what does it mean to "compile"? verilog isn't compiled, it's still synthesized to gates and luts and whatever right? what does clash compile to natively if not verilog/vhdl (which then gets synthesized)?
i don't understand - how do you generate the bitstream if you're not generating verilog or vhdl first?
The person you're responding to isn't an FPGA dev (or at least not primarily). They're talking about verilog for ASIC design where the last step is is making the lithography mask that "tapes off" parts of the silicon substrate (like a painter tapes parts of a wall when painting).
I play in the space (Chisel and FIRRTL and CIRCT) so I agree with you but you're being far too dismissive of the people you're aiming to convert.
>But as a language Clash can do everything Verilog does.
Ironic since people say the exact same thing of Haskell and eg python and yet we still don't have wide Haskell adoption.
You have to deeply internalize that a PL or HDL is a tool. Thus, this position makes zero sense
>its ability to work together with vendor-specific tools and other ecosystem stuff, I don't know much about this
No one uses tools that don't fit somehow into their workflow. Further, if the users of the tool are happy with their current toolset then you have a very hard road to hoe in convincing them to adopt your tool.
I'll give a use case (the use case I'm interested in) that might help to illustrate the point: dynamic neural nets. How do you optimize neural nets that have control flow and dynamic shapes (variable size tensors)? Most (all?) hardware fast paths (GPUs, accelerators, SIMD registers) have hard (parden the pun) requirements on memory layout; e.g, if you want to use vector/SIMD units on CPUs effectively you have to align and chunk your data to fit into the fixed width registers. So for nets that have dynamics it's pretty hard generate machine code for using these things - most people pad to some "good enough" width and pay the price on throughput.
All of these techniques speak to this problem (among others obviously) by inferring as much as possible at compile time and kicking the can to runtime for the rest. Partial evaluation, the one I'm most familiar, propagates, usually on an IR, as much statically known information as it can infer (depending on the quality of the implementation), and simplifies thereby (think things like substituting lengths of lists to simplify comparisons). After the partial eval loop hits a fixed point (no more changes discovered) you have a representation of the neural net that has unbound variables (for some tensor shapes) in it but also code for quickly determining more of these unknown shapes at runtime.
A really good pedagogical paper/dissertation is from the guy responsible for large parts of TVM:
https://digital.lib.washington.edu/researchworks/handle/1773...
Also these blogposts on how abstract interpretation works in Julia are good
https://mikeinnes.github.io/2020/07/29/mjolnir.html
https://aviatesk.github.io/posts/data-flow-problem/?s=09
The last is pretty formal but good if you're comfortable with abstraction (no pun intended).
And here's one of their papers on staged programming for NNs
It's universally understood that a century is one of the easiest "feats of endurance", which is why you see people far into their 50s and 60s still able to do them.
>We are trying to look at the worst of someone that did so much for the world.
Have you ever considered that maybe hagiography is a disservice to these people? I know that if I were to do something extraordinary, I would be ashamed if other people used it as a smokescreen for my shortcomings.
>what's the smallest useful (as in, 'non-toy', or maybe 'worth buying time on') quantum computer?
this question is not about papers or research - it is about value for problems/questions outside QC. simple as that. the answer to that question is ~100,000 physical qubits not 100.
again this whole exchange with you just further reaffirms that there's a very very strong reality distortion field around this entire area of academia.
>what's the smallest useful (as in, 'non-toy', or maybe 'worth buying time on') quantum computer?
very obviously this person isn't asking about useful for writing papers...
>You are making up the least charitable possible interpretation of an offhand comment
nothing imagined here. just english. sorry.
> and getting angry at your imagination.
lol you keep insisting i'm angry. i mean if a reviewer reviews your submission and calls you out for inflating numbers i guess they're angry too? oh well
amen. people should learn to write fast code instead of "spraying and praying"
...bruh i'm a phd student whose work supports SQMS at fermilab (not in physics but cs). i'm not confused about absolutely any of the terms or definitions. hint: you're not the only QC researcher in the room at all times.
>You are making up claims about what people say and then get angry/tickled/mirthful about those made up claims.
i'm not making anything up - this comment
https://news.ycombinator.com/item?id=29245025
doesn't say absolutely anything about error correction and just vaguely alludes to coherent qubits being somehow different from physical qubits. like are you kidding me claiming that you're being transparent while reporting 100 anything without immediately revealing that it's actually 100k? somehow in your mind 3 orders of magnitude isn't a big deal when communicating relevancy/value/merit?
for a farcical analogy: can you imagine me reporting 100 dead corps and then come to find out i'm talking about 100 corporations being massacred, each corporation employing 1000 people.
there is no other academic discipline that plays this slight-of-hand. i'll give you another analogy that should be near and dear to your heart and will illustrate the point very precisely: can you imagine daniel simon saying he proved separation of BQP and BPP and not immediately (in the same sentence) revealing that it was oracle separation?
of course there is - this is just more of exactly the same word play lol
>In 1995, Ben Schumacher provided an analogue to Shannon’s noiseless coding theorem, and in the process defined the ‘quantum bit’ or ‘qubit’ as a tangible physical resource
...
> For our elementary coding system we choose the two-level spin system, which we will call a "quantum bit" or qubit.
you can talk about surface plasmons or transmons or josephson junctions or whatever you want but the definition is always physical not logical (that's an abstraction!).
>I am not sure why you are so angry
I'm not angry - I already said what I am and that's tickled/mirthful but also bemused by the consistent evasion by the QC community to talk about physical reality.
So I think the truth is I'm not angry but you're defensive because a 100 qubit QC is useless, and moreso a 1000 qubit, even 100,000 qubit QC would be as well. But that's quite inconvenient for a research community that's publishing papers and submitting grant proposals.
>If you are a quantum computation person developing near term applications, you probably would already start getting excited with a 100 (sufficiently long-lived) qubits.
Then you go on and on and on and have one sentence about what you can do with 100 full stop period qubits.
So what exactly did I misunderstand?
It's just funny to me how all of you guys - from the crypto QC grifter, all the way to PIs and postdocs like you play the same word game
...
>If you are a quantum computation person developing near term applications, you probably would already start getting excited with a 100 (sufficiently long-lived) qubits.
...
>"logical qubit" or less formally "long-lived qubit" ... With 100 logical qubits (i.e. 100k physical qubits)
lol you're literally guilty of playing the same trick that people are bemoaning in another thread.
incidentaly, having taken a QC systems class from Fred Chong, i believe you guys are all working on vaporware.
x + y + z = 0
dx/dy * dy/dz * dz/dx = -1
that make no sense if you don't know epsilon-delta calculus.
You can use infinitesimal analysis but that's a completely different thing that you probably won't enjoy if you don't think epsilon-delta is straightforward.
https://en.m.wikipedia.org/wiki/Smooth_infinitesimal_analysi...
> LibreOffice Initial release: 25 January 2011; 10 years ago
don't think it's getting solved mated
Haven't you ever heard of "talking your book"?