14 ms·
Open-source high-performance RISC-V processor
- snvzz 4y agoAnother very high performance effort is VRoom![0]. As of the latest update in the blog, they are at 10.3 DMips/MHz. 0. https://moonbaseotago.github.io/ https://moonbaseotago.github.io/
- tyingq 4y ago>they are at 10.3 DMips/MHz I understand Dhrystone isn't everything, but that's pretty impressive, and up there with high performance CPUs from the established players.
- gchadwick 4y ago'Isn't everything' is a huge understatement. It's a performance nice smoke test for a CPU in that if it isn't hitting the numbers you'd expect given the microarchitecture (issue width etc) you know there's a problem and due to the simplicity of the benchmark it shouldn't be hard to analyse and track down. Though there's way more a modern high performance CPU needs to do. It doesn't do anything meaningful to stress the memory system for instance. Hitting good Drystone numbers is stage 1 in a long process to building a modern high performance CPU.
- tyingq 4y agoThat's fair. Perhaps "is only an imperfect early indicator" would have been better than "isn't everything".
- codedokode 4y agoAs I understand that is performance in a simulator, and it is unknown what delays are going to be between pipeline stages on real hardware.
- rowanG077 4y agoPerformance in a simulator is cycle accurate to the real world.
- brucehoult 4y ago"delays" affect the MHz, not the performance per MHz. Tools for predicting MHz are fairly accurate. Also, VROOM works in FPGA not only in verilator.
- rektide 4y agoThe practically live blogging of this VRoom! core is such a glorious thing to behold. Amazing work. And it's talked about!! We can see learn & follow that. One of the most unique singular experiences in the modern world, creating a high performance core, and we can read about it, see the process unfold, see the team iterate. Gobsmackingly amazing.
- mdp2021 4y agoDoes anybody have a list of DMips/MHz per CPU results, for comparison?
- rwmj 4y agoThe license in case anyone was wondering: https://spdx.org/licenses/MulanPSL-2.0.html https://spdx.org/licenses/MulanPSL-2.0.html Seems BSD-ish and it is approved by OSI: https://opensource.org/license/mulanpsl-2-0/ https://opensource.org/license/mulanpsl-2-0/
- londons_explore 4y agoOdd choice to do hardware design in scala... I wasn't aware of any other big players doing this... I suspect it will limit the impact this project can have if industry can't adopt it easily into existing processes.
- rapiz 4y agoIt's actually chisel. But github marks it as scala because chisel is based on scala. Other HDL based on scala includes SpinalHDL. These two HDL are pretty welcomed because of opensource and usability. You can find lots of projects in them. Notably rocket-chip, which is also in chisel. https://github.com/chipsalliance/rocket-chip https://github.com/chipsalliance/rocket-chip They're around for a while but still young and some people are pushing for adoption.
- monocasa 4y agoIt is scala. Chisel is just a scala framework. Conceptually it's not quite an HDL but instead a scala program that metaprograms the actual RTL netlist. So there's no chisel compiler other than the standard scala one that comes with sbt; you then run the resulting chisel program on your computer to generate the netlist.
- phendrenad2 4y agoIt's scala + a DSL called "chisel" that you write by chaining scala keywords and symbols in the right order. There, solved it once and for all. :)
- georgelyon 4y agoThis is not strictly true anymore as the low-level (FIRRTL) compilation is powered by CIRCT (http://GitHub.com/llvm/circt http://GitHub.com/llvm/circt) which is built using MLIR (part of the LLVM project: https://GitHub.com/llvm/llvm-project https://GitHub.com/llvm/llvm-project)
- dkjaudyeqooe 4y agoIt's Chisel < https://www.chisel-lang.org/ https://www.chisel-lang.org/ > which runs on Scala and generates synthesizable Verilog for hardware implementation. It was created and used by the same group that created RISC-V so it makes perfect sense. SiFive, arguably the biggest player in RISC-V, use Chisel to design their processors.
- blacklion 4y agoI wonder, which instruction fusions are implemented, as it is key to high-performance RISC-V and the reason not to have conditional movs & alike in macro-ISA. Unfortunately, documentation for Micro-ISA is in Chinese only :-(
- jabbany 4y agoFrankly, these days machine translation is more than enough to reproduce most technical documents at an acceptably high level of accuracy. Fwiw, this is the relevant link: https://xiangshan-doc.readthedocs.io/zh_CN/latest/frontend/decode/ https://xiangshan-doc.readthedocs.io/zh_CN/latest/frontend/d...
- blacklion 4y agoHmm, only strange combinations of arithmetic operations, no conditionals...
- samvher 4y agoWhy is that, that they are key to performance with RISC-V? And why are they the reason not to have conditional moves? Would love to know more!
- snvzz 4y ago>Would love to know more! The specs themselves come with a lot of rationale for decisions taken. But, as a starting point (from zero), I recommend the "RISC-V Reader" book, by the main authors of the ISA, as it makes a great introduction to the design of RISC-V.
- blacklion 4y agoBranches are very expensive in modern high-performance CPUs, even with good branch predictors (and good branch predictor is expensive too, in transistor budget and consumed power). Many short branches can be eliminated by using conditional instructions, cmov is one of them (most often used). RISC-V doesn't contain such instructions, and authors of ISA says, that it is not needed because it make small (not high-performance) implementations cheap (they don't need to implement complex conditional instructions), and big high-performance implementations can implement them via instruction fusing (recognize common patterns of short branches and replace with "internal" conditional moves and alike).
- rapiz 4y agoThis is part of China's effort to have its own IC industry. The project is now owned by BOSC, Beijing Open Source Chip Research Instiutute[1] [1] https://www.bosc.ac.cn/yjyjs https://www.bosc.ac.cn/yjyjs
- RobotToaster 4y agoIt's impressive how quickly they seem to have embraced open source.
- LoganDark 4y agoSurely they understand there's no point in trying to keep it closed-source considering they're, well, China.
- pstoll 4y agoYou mean the “contributing” part of OSS?
- RobotToaster 4y agoWell, yes. I was more talking about the government though, which isn't otherwise famous for it's love of openness. I'm not aware of any government currently promoting FOSS/FOSH as much as China's is.
- totalhack 4y agoWas gonna flag this same thing. Maybe their hoping for help from the open source community?
- DeathArrow 4y agoChina has a very diverse mix of technology. They use x86, ARM, MIPS, RISC-V and others. I don't know if splitting the efforts in many different directions makes sense.
- snek_case 4y ago
- panick21_ 4y agoSome people might be interested in Ocelot: https://github.com/tenstorrent/riscv-ocelot https://github.com/tenstorrent/riscv-ocelot Its basically the evolved BOOM Core from Berkley but with a full RISC-V Vector Unit attached. I had really hoped more people put more investment in BOOM.
- skavi 4y agoby boom core, do you mean the latest “sonic boom”?
- TheLocksmith 4y agoHas somebody compare-able DMips/Mhz numbers for: * Intel i7-4600U CPU DMips/Mhz (I found about 10 DMips/Mhz) * RISC-V VRoom = 10.3 DMips/MHz (still in development) * RISC-V XiangShan = ? * RISC-V others ?
- sylware 4y agowith out-of-order and branch predicting CPUs, those metrics are highly questionable. Better "benchmark" real stuff: CPU bound AAA games, etc.
- nine_k 4y agoMost AAA games have not been ported to RISC-V yet. But I bet pytorch has been, and also openCV and other compute-heavy stuff. (And Doom, of course.)
- mhh__ 4y agoI'm guessing pytorch probably doesn't branch as much as a game. One of the best "real" Benchmarks is compiling the Linux kernel, the issue is that on an emulator/verilog simulator that could take a very long time.
- deleted 4y ago[deleted]
- drmpeg 4y agoI also use this benchmark for a real world estimate. Here's some numbers. For the pretty ginormous Ubuntu kernel config for RISC-V, it's 7.5 hours on the HiFive Unmatched (at 1.5 GHz) versus 25 minutes cross compiled on a E5-1650 V4 Dell box.
- sylware 4y ago1.5GHz, oooof... I guess they really need to catch up on the GHz front, not only the micro-architecture. Once they are in the 5GHz range, we will see how far the micro-architectures and compilers have to go.
- eyyheidihfvv 4y ago[flagged]
- eyyheidihfvv 4y ago[flagged]
- sylware 4y agoSad this is tainted by the current US-china conflict on chip manufacturing. But there are good guys everywhere (and bad too), and anything pushing a world-wide royalty free modern ISA toward "real-life" usage does its part. I hope one day I'll buy a AAA game, with a noscript/basic (x)html browser and play it on highly performant RISC-V CPU. Don't forget, the bad guys hate simple but able to do a good enough job, stable in time standards.
- marcodiego 4y ago> I hope one day I'll buy a AAA game, with a noscript/basic (x)html browser and play it on highly performant RISC-V CPU. What a dream! I'd add the game would be open source; don't care about the art though.
- tormeh 4y agoTangential, but I'm intrigued to see Chisel having such success. Can anyone in the know comment on how it's doing and what impact it has in the hardware industry?
- karasoft 4y ago[dead]
- eunos 4y agoI'm more interested that they also developed an agile methodology for Hardware development here https://github.com/OpenXiangShan/XiangShan-doc/blob/main/publications/micro2022-xiangshan.pdf https://github.com/OpenXiangShan/XiangShan-doc/blob/main/pub... .
- rektide 4y agoI'm squinting a lot to draw a net conclusion, but clearly a massive focus on testing & simulators. They notably seem to be validating & simulating C/C++ targets for a lot of this. They have a great breakdown of the tools they've used & build. Chisel, out of Berkeley, lies at the heart of almost everything. But they have reams of new tools they've madd. There's over a dozen simulators or tester pieces they said they've made. Which is epic, and makes total sense. Great paper thanks for sharing. I quickly scanned their gitbub repos. A lot of these tools probably arent iterated on as much & I just haven't got to them yet. The paper claims the overarching development structure is embodied on a tool MinJie, which the paper says is open source. Fantastic, fingers crossed 50%+ of the tooling here is available. I also feel like the US's OpenROAD deserves some shout out as related, relying on extremely good design checking/validators to be so agile at chipmaking that ML can spit out designs en mass & then we can run loss checks to find out how working the various designs are. Millions of monkeys on typewriters style ultra agile.
- ivzhh 4y agoProfessor Bao of the OpenXiangShan team is known for his outspokenness, particularly in advocating for the academic model of the RISELab at UC Berkeley, which he often refers to as "Open Source Heavy Industry". As a result, he is a strong proponent of the OpenXiangShan project, as he firmly believes that it is the ideal means of producing high-quality research.
- DeathArrow 4y agoAll research in China is publicly shared. And while it is encouraged by the CCP is not demanded by law. It's a cultural fact and any entity in China can learn about R&D done by any entity, no matter if state owned or public owned, provided it is not classified as a secret. Taking this precept down, they don't care about IP. If one Chinese company makes a product, in a few weeks you can find lots of different Chinese companies selling the same product on Aliexpress. Some of better quality, some cheaper, some with added functionality some with less functionality. If you are to give your hardware design to a Chinese company and order a heavy lot you might have a good deal. But if your product is kind of successful, you shouldn't wonder if you see a lot of alternatives offered on Aliexpress by seemingly increasing unknown companies for a good rebate.
- artemonster 4y agoare there any books to learn about advanced cpu design with dispatch queues, microop schedulers, etc. the most I could find would cover basics of CPU design, not advanced stuff.
- DeathArrow 4y agoIf China manages to reduce its dependency of US based tech like CPUs, I wonder how this will affect the two economies. Would it be a viable idea to buy shares in China based tech companies now? The thinking is that if CCP pushes something real hard by investing large amounts of resources in it, the chances are higher that they will succeed. Not tomorrow but in 10 or 20 years. Conversely, if US based tech companies will have competition, it is likely that their value will go down a bit at one point. Also, it's possible that if China builds domestic silicon tech we will see a race to the bottom if they will want to aggressively price their products and try to undercut their competitors. Then it might be a bad idea to own any shares in tech companies, no matter where they are located.
- delusional 4y agoIt's important to also consider how much you trust the CCP to actually pay out your hypothetical shares, should they ever become worth anything. It's possible that they may just confiscate them (or outlaw foreigners from trading or something similar).
- DeathArrow 4y agoAre there precedents in which they didn't pay out?
- loeg 4y agoThere are examples where the CCP has materially reduced the stock price (e.g., by forbidding the company from making a profit) after it was marketed to western investors. And the typical ownership structure (VIEs) is incredibly fragile. As an individual I would not concentrate investment in Chinese companies due to CCP risk. The SEC has this to say: https://www.sec.gov/corpfin/disclosure-considerations-china-based-issuers https://www.sec.gov/corpfin/disclosure-considerations-china-... > Current regulations in China limit or prohibit foreign investment in Chinese companies operating in certain industries. For example, there are restrictions on foreign ownership of telecommunications companies and prohibitions on ownership of educational institutions.[7] To circumvent these restrictions, many China-based Issuers form non-Chinese holding companies that enter into contractual arrangements, intended to mimic direct ownership, with Chinese operating companies. Through these contractual arrangements, the China-based Issuer is generally able to consolidate the Chinese operating company, commonly referred to as a variable interest entity or VIE, in its financial statements, although whether the China-based Issuer maintains legal control of the Chinese operating company is a matter of Chinese law. Under this structure, the Chinese operating company, in which the China-based Issuer cannot hold an equity interest, typically holds licenses and other assets that the China-based Issuer cannot hold directly. > These China-based Issuer VIE structures pose risks to U.S. investors that are not present in other organizational structures. For example, exerting control through contractual arrangements may be less effective than direct equity ownership, and a company may incur substantial costs to enforce the terms of the arrangements, including those relating to the distribution of funds among the entities. Further, the Chinese government could determine that the agreements establishing the VIE structure do not comply with Chinese law and regulations, including those related to restrictions on foreign ownership, which could subject a China-based Issuer to penalties, revocation of business and operating licenses, or forfeiture of ownership interests. > Legal claims, including federal securities law claims, against China-based Issuers, or their officers, directors, and gatekeepers, may be difficult or impossible for investors to pursue in U.S. courts. Even if an investor obtains a judgment in a U.S. court, the investor may be unable to enforce such judgment, particularly in the case of a China-based Issuer, where the related assets or persons are typically located outside of the United States and in jurisdictions that may not recognize or enforce U.S. judgments. And of course, see Levine on the subject: https://www.bloomberg.com/news/newsletters/2021-07-07/money-stuff-owning-chinese-companies-is-complicated https://www.bloomberg.com/news/newsletters/2021-07-07/money-... https://www.bloomberg.com/opinion/articles/2021-08-02/chinese-stocks-will-get-more-warnings https://www.bloomberg.com/opinion/articles/2021-08-02/chines...
- DeathArrow 4y agoChina already surpassed US economy according to some studies. And it was at 1/100 of US economy tens of years ago. Part of this rise to power is due to US companies investing there, buying and giving know-how in the process, but the huge part is they've built some of the world best learning systems, the state is massively investing in education, they invest more than any other country in research. And, perhaps one of the biggest factors, unthinkable in the West, is that Chinese economic entities are cooperating instead of being secretive. If one Chinese company will develop something, you can bet the rest will learn that fast and will use it in the next economic cycle. In China all knowledge is in fact a big open source scheme. Every new startup can benefit from the know how, experience and research done by others. This accelerates accomplishments like crazy. So, to recap: CCP makes good plans for very large time scales, they have one of best education systems, they try to educate as much people as possible, they invest heavily in research, companies are more likely to cooperate instead of competing, knowledge is shared. It's a perfect recipe for success. And I just wonder why other countries can't apply the same recipe.
- still_grokking 4y ago> It's a perfect recipe for success. And I just wonder why other countries can't apply the same recipe. Because in capitalistic market economies you need to compete. This is a law of nature! Or something like that… /s I would indeed like to see how this works in reality on side in China. But China has one big issue: Its written language. This is something that makes me really fear the idea to go there. If they would just manage to finally switch to some proper writing system, so even dumb boys like me could learn it, I would invest some time and try to learn the language. But as long as you need to memorize thousands of signs (and can't even use a dictionary…) this is really off-putting. I'm dyslexic and have already problems to write correctly in my mother tongue (German), and had a very hard time to learn English. The second most useful language to put effort in would be Chinese, sure. But this writing system, oh boy… The Chines are smart and have a powerful government. Why can't they make this Pinyin finally happen? It would make learning reading and writing likely even easier for the still illiterate people on the Chines country side. (And no, I don't buy the argument that you need the signs to distinguish meaning for things that sound alike. The spoken language has no signs and it still works fine. And the whole language is anyway very context depended, so you need to think about the meanings of words or phrases quite precisely anyway.)