News for hackers. Stuff that matters.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by almatabata on Wednesday October 04, 2023 @01:08PM (#37768268)
Damn i hoped we would one day get a customizable fpga into our CPUs. I hoped that it would make sense to install certain instructions on your fpga depending on your workloads. I guess this either kills that possibility or pushes it into a very far future.

I do not understand this part though:

> There was talk of hybrid CPU-FPGA packages, which never seem to get > commercialized because no system architect likes static ratios of compute – > unless they are determining the ratios. Like the hyperscalers and cloud > builders, who can tell companies like Intel and AMD what their product > roadmaps need to look like.

What do not see what they mean by ratio here. Do they mean die ratio between cpu and fpga?

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by tverbeure on Wednesday October 04, 2023 @01:19PM (#37768472)
> I hoped that it would make sense to install certain instructions on your fpga depending on your workloads.

It's one of those things that seem like a good idea, but they just don't work out in practice. FPGA LUTs are just way too slow. You'd have to find a case where doing something on a 3GHz CPU clock running multiple instruction parallel gets outperformed by LUTs that runs at 700MHz (at best). And when you cascade the LUTs, they become slower too.

And that's without solving the problem of closely coupling a CPU pipeline with FPGA logic.

> What do not see what they mean by ratio here. Do they mean die ratio between cpu and fpga?

What they mean is: in something like the Zynq FPGA family, I want a die with 2 CPU cores and 5000K LUTs. The other guy wants 8 CPU cores and 2000K LUTs. It works for narrow applications like signal processing where power efficiency and cost isn't a top concern, but for a hyperscaler, power consumption is a very important metric. As is the cost of paying for a significant part of the silicon die that's sitting there unused.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by almatabata on Wednesday October 04, 2023 @01:32PM (#37768690)
Thanks for clarifying.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by mikewarot on Wednesday October 04, 2023 @02:08PM (#37769244)
The right kind of sea of LUTs can outperform anything even if it's clocked at 100 Mhz... the trick is to get a pipeline filled, instead of trying to outrun light.

Imagine an LLM with a new token every 10 nS

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by coryrc on Wednesday October 04, 2023 @10:46PM (#37774371)
But you can't fit that "sea" into a processor core as a separate unit powered by unique instructions (like an FPU or ALU) because the speed demands the cache and ALU be there (or else it can't run at 3GHz any more). Once it's not that close it doesn't make sense to be on the same chip; maybe a neighboring chiplet. But anybody could do that.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by jeffreygoesto on Thursday October 05, 2023 @03:48AM (#37775877)
It is a totally different way of programming and thinking though and you need to spend a lot of thought on design to make it really fast. We could outpace a 3GHz CPU with a Zynq for image processing but it needs some really good FPGA people and the right split between CPU and FPGA. Nothing the average programmer wants to dive into, more something for cost and power sensitive markets with a relative fixed task, not needing ASICs yet. For networks it could pay off if you have the right amountof multipliers in the right places, but only then. As you wrote, don't leave the chip during the processing and you are good to go.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by duskwuff on Wednesday October 04, 2023 @02:09PM (#37769266)
> It's one of those things that seem like a good idea, but they just don't work out in practice.

GPGPU sucks a lot of air out of the room as well. There aren't many purely computational problems which FPGAs can solve better than a compute-optimized GPU; even though GPUs aren't quite as flexible, they clock a lot faster, they're cheaper, and they're easier to develop for.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by rowanG077 on Wednesday October 04, 2023 @07:36PM (#37773148)
I actually think there are a ton of problems which could benefit. But there is just very little mindshare. You basically have 1000x people working on building software to run efficiently on the GPU. No way FPGA touches that. It doesn't help that it's a specialized set of skills to build high performance circuit. Whereas running on a GPU is "just" software.

So even though I think FPGA could win out from an efficiency perspective there is just not enough people working on it.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by ethbr1 on Wednesday October 04, 2023 @11:59PM (#37774779)
That's been a historically really good bet for processor architectures -- developer volume beats hypothetical performance.

Essentially the only time it's gone the other way was when there was a toehold in a critical market, where the benefits were so obvious and profitable that they made up for the difficulty (e.g. graphics).

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by j_not_j on Wednesday October 04, 2023 @02:11PM (#37769282)
> FPGA LUTs are just way too slow

If, and of course that is a big if, you can repackage a (parallelizable) calculation into FPGA look-up tables and implement multiples of this (e.g. 8 to 80 times) then you can think maybe it's quicker than CPU at 3GHz.

However, you have to include DMA of the data to and fro. It's unlikely to be worth the very extensive effort of integrating two wildly different technologies.

On the other hand, it may not be a complicated calculation but FPGA can do much lower latency and smaller variance in latency (hello high-frequency traders). That is a very narrow niche.

A simple board with CPU and FPGA is the Arduino MKR Vidor 4000: ARM Cortex 32-bit CPU and Intel Cyclone 10 FPGA). Hardware cost: $85. Full suite of development software $1000 or more (although lesser tools are available for free.)

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by imtringued on Wednesday October 04, 2023 @06:43PM (#37772780)
>However, you have to include DMA of the data to and fro. It's unlikely to be worth the very extensive effort of integrating two wildly different technologies.

That is exactly the part where having the FPGA next to the CPU helps... You can transparently access the CPU cache via an AXI slave port on the CPU on AMD's MPSoCs at a rate of up to 16 bytes per cycle and you get multiple of those.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by andrepd on Thursday October 05, 2023 @02:33AM (#37775489)
Hmm, very interesting! Didn't know that wa possible.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by KirillPanov on Wednesday October 04, 2023 @06:55PM (#37772858)
> where doing something on a 3GHz CPU clock running multiple instruction parallel gets outperformed by LUTs that runs at 700MHz

Easy: go wide.

Make the FPGA-CPU interface four times wider on the FPGA side than the CPU side. Each tick of the CPU clock reads (or writes) one quarter of the bits.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by eschneider on Wednesday October 04, 2023 @01:33PM (#37768699)
This doesn't make a lot of sense. I mean, there are SOCs out there with asymmetric cores (say, an ARM A53 and an ARM M4 on the same die) for folks who's workloads warrant that sorta thing. I'd expect there'd be s similar market for CPUs, with built in FPGAs of various sizes.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by tverbeure on Wednesday October 04, 2023 @01:40PM (#37768817)
It only makes sense for a few applications. See the popular Xilinx Zynq UltraScale MPSoC product line. They are popular for digital signal processing, for example. But they are not power efficient, and they are very expensive.

Good enough for a low volume custom solution for which custom silicon is too expensive. Not for a hyperscaler.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by bfrog on Wednesday October 04, 2023 @01:28PM (#37768620)
"a customizable fpga into our CPUs" that already happened, it just didn't happen in x86 land. There have been a good number of products from various vendors that connect up hard cores and fpga fabric.

power pc cores, riscv cores, and by large arm cores

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by tverbeure on Wednesday October 04, 2023 @01:41PM (#37768834)
That's not what OP meant though. They were talking about custom CPU instructions implemented with FPGA logic.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by bfrog on Wednesday October 04, 2023 @06:55PM (#37772853)
That doesn't sound that beneficial honestly
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by throwaway4590 on Wednesday October 04, 2023 @01:45PM (#37768896)
Whenever I see talk about Intel's FPGA unit, I link back to an invention I submitted to Intel while I was an intern there [0]. I went through the patent pipeline, but to my knowledge they never did anything with it. This was during the excitement of Intel's original acquisition of Altera.

In fairness, I never mocked up a true enough implementation in Verilog to get an idea of real world speedup, and even now, I'm not sure exactly what operations you could see real gain with from small reconfigurable fabrics near the CPU. Still, I liked the elegance of having L1-L3+ FPGA's for speeding up operations of increasing levels of complexity, and I figured programmers smarter than me would find creative ways of using the FPGA's with the added instructions.

[0] https://patents.google.com/patent/US10310868B2/

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by almatabata on Wednesday October 04, 2023 @02:18PM (#37769387)
Thanks for sharing. Small question about Image 20, does that represent a use case for an instruction translator? For example you have an arm chip and you want to run x86 code so you offload the x86 instructions to the fpga?
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by throwaway4590 on Wednesday October 04, 2023 @02:32PM (#37769574)
I believe my contributions start at Image 25 on Google. Images 1-24 are generic CPU boilerplate images that the lawyers add to most patents in the field.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by rowanG077 on Wednesday October 04, 2023 @07:37PM (#37773158)
I mean. If you, the original author, didn't even bother implementing and testing the idea why would you expect someone else would? I personally wouldn't touch such a project with a thousand foot pole.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by throwaway4590 on Wednesday October 04, 2023 @09:17PM (#37773829)
Having worked in both software and hardware, I understand and appreciate this sentiment in software.

But most software engineers don't understand the amount of time and compute that would be required to mock up a novel, yet sufficiently complex as to be realistic, CPU. I did indeed have a basic HDL implementation, as is required for most patents in the US (reduction to practice). But to implement it fully enough to understand what kind of performance changes you could get in a modern CPU... it's safe to estimate it as an order of magnitude harder than the most complex pure software project you've ever built alone, and well beyond the resources of an intern who's just doing this in his spare time. Software is a great gig, because it's easy and you can do it all on your laptop.

And I'm sure computer engineers like myself don't appreciate the difficulty of manufacturing true mechanical hardware at companies like Tesla, where a team and a budget would be even more essential to build anything useful.

Anyway, the technical committee thought it was worth patenting, and the idea itself is pretty digestible without it working on production silicon, but I have no idea who comes up with product roadmaps at Intel. It was probably buried in the patent graveyard, or maybe someone qualified actually looked at it and realized it wouldn't work.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by rowanG077 on Wednesday October 04, 2023 @09:24PM (#37773886)
I'm actually a hardware engineer. I disagree that such a thing is only important in Software. You can easily validate any specific idea using cycle accurate simulators. If your intership didn't have enough time then fine. I would expect you continue working on the apparently golden idea your sitting. Nowadays you have a ton of pretty good softcores to choose from to test out an idea.

If the original author of a patent didn't find it worthwhile to pursue the idea for whatever reason I have very little faith in the idea to begin with. Taken to the extreme it's like saying I can turn lead into gold, and then never actually showing you actually making money that way.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by throwaway4590 on Wednesday October 04, 2023 @10:26PM (#37774228)
> I'm actually a hardware engineer. <...> You can easily validate any specific idea using cycle accurate simulators

If anything, I'm less convinced than before that you understand how complex a modern CPU is. Perhaps you can re-read my comment; I essentially did what you are suggesting, but that wasn't enough, in my opinion, to glean any information about benchmarks in the real world. It took hundreds of hours. To make it slightly more realistic but still woefully inaccurate using licensable IP's and my own time/money without the company's buy-in seems absurd, even to the most stubborn HN commenter. The fact that we are modifying the L1/L2/L3 structure (perhaps you also didn't read the patent before commenting) makes this essentially re-designing large parts of the CPU from the ground up, at least as far as I understand licensable core IP.

> I would expect you continue working on the apparently golden idea your sitting

Why? No one ever said it was the golden idea. Only that I found it interesting. Apologies if my optimistic curiosity triggered your defenses.

Regardless, your statement makes no sense for other reasons. Perhaps there's a cultural gap (are you not American?). Here are some relevant points about US companies and patents I hope I can help you understand:

1. Big US corporations will patent anything novel, technical, and remotely related to the business as a means of protecting themselves against litigation. Most of these patents only see an initial technical committee, lawyers, and then are never seen again.

2. Inventors have zero individual rights to their patents when patented via company channels (in exchange, the company pays for the lawyers and usually grants a tiny stipend).

3. Interns typically do not influence how research budgets are allocated.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by hobs on Wednesday October 04, 2023 @09:57PM (#37774090)
Isn't it silly to link a throwaway account to a patent you invented? :)
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by throwaway4590 on Wednesday October 04, 2023 @10:44PM (#37774356)
A bit unorthodox to have a public throwaway and an anonymous-ish main account, I suppose ;)
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by amluto on Wednesday October 04, 2023 @02:51PM (#37769843)
Integrating an FPGA with the actual front-end and register files seems so you can invoke it synchronously, with fast instructions at low latency, seems neat but rather complicated. As for an FPGA asynchronously accessing application memory, I tentatively expect CXL with some shared virtual memory trickery to succeed in this space, at least in a couple years when the dust hopefully settles, and then you can do whatever you want.
Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by dralley on Wednesday October 04, 2023 @03:33PM (#37770406)
> Damn i hoped we would one day get a customizable fpga into our CPUs. I hoped that it would make sense to install certain instructions on your fpga depending on your workloads. I guess this either kills that possibility or pushes it into a very far future.

Depends on what AMD does with Xilinx.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by gsmecher on Wednesday October 04, 2023 @06:30PM (#37772681)
> Depends on what AMD does with Xilinx.

Currently the AMD/Xilinx dynamic seems to reverse this: "Depends on what Xilinx does with AMD".

AMD's software roadmap for AI/datacentre leans heavily on Vitis (for software) and AI Engines (as an execution platform). CPUs that integrate AI engines are already shipping (Ryzen AI). It's Xilinx technology, but you should expect it to look more like a GPU accelerator than a traditional LUTs-and-routing FPGA. And, as duskwuff have pointed out, this sucks a lot of the oxygen out of the CPU-with-FPGA design space.

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by mathisfun123 on Wednesday October 04, 2023 @08:30PM (#37773500)
> AMD's software roadmap for AI/datacentre leans heavily on Vitis (for software) and AI Engines (as an execution platform).

This is incorrect along all 3 dimensions:

1. AMD has its own data-center class GPUs - I don't know how good they are because I don't work on them

2. Vitis is just a brand and will be taken out of the equation before the end of the year.

3. I don't know what execution platform means because AI Engine is one core in a grid of such cores on the chiplets that are on the Phoenix platform (shipped with new Ryzens) and the VCK boards.

> It's Xilinx technology, but you should expect it to look more like a GPU accelerator than a traditional LUTs-and-routing FPGA.

It is correct that there are no LUTs in the fabric but there are "switchboxes" for data traffic and you do have do the routing yourself (or rely on the compiler).

Re:Intel to Set Its FPGA Unit Free to Pursue Its Own Path – ... by imtringued on Wednesday October 04, 2023 @06:48PM (#37772810)
I am actually surprised how AMD managed to successfully leverage it's FPGAs for machine learning inference. It is competing with Nvidia's Jetson.