Live data from Hacker News

Programming on Parallel Machines; GPU, Multicore, Clusters and More

heather.cs.ucdavis.edu

31–36 of 36 posts

Re: Programming on Parallel Machines; GPU, Multicore, Clusters and More

#31
post #29

Earlier quoted context omitted.

have a look into hardware descriptive languages, VHDL or verilog and go from there

How is the best way to programm with them?, IDE or LSP?

The OSS CAD Suite [0] is a good open-source toolchain for this stuff. You can then write hardware designs in the SytemVerilog language (VSCode has some plugins, I believe, but I've just been using a basic text editor) and use the build toolchain to compile ("synthesize") and program e.g. an FPGA with your designs.

(FWIW, I've only just taken a class on Verilog this past Spring, but we used oss-cad-suite and I found it pretty straightforward to use. The bundled version of Verilator had some issues on my Mac though, so I had to compile my own copy of Verilator.)

[0] https://github.com/YosysHQ/oss-cad-suite-build/

Re: Programming on Parallel Machines; GPU, Multicore, Clusters and More

#32

Earlier quoted context omitted.

500 cores is just a handful of nodes nowadays. Living in the future is weird.

If you count hyperthreads as cores, AMD 9754 dual socket is 512 in one node.

You can’t count a hyperthread as a core, that’s cheating.

I guess we’ll have to get four sockets.

Re: Programming on Parallel Machines; GPU, Multicore, Clusters and More

#33
post #12
post #5

Earlier quoted context omitted.

What would replace it?

Chapel[0] was created, in part to replace MPI in HPC communities. However, MPI remains dominant. [0] https://chapel-lang.org/

I would say Chapel was created less to replace MPI and more to provide a higher-level alternative to it that is amenable to compiler optimization.

Re: Programming on Parallel Machines; GPU, Multicore, Clusters and More

#34
post #16

If you feel like you've finally groked GPU/massive parallel software programming and need more challenges, I highly recommend playing around with digital circuits! The level of parallelism available to you in hardware is truly unmatched and it's incredibly fun, especially once you start really pushing implementations of your designs on FPGAs. Granted, FPGAs are frequently less useful than what you could do on a GPU d…

How do you get started with that?

FPGAs are hardware, you generally program them with hardware description languages like Verilog.

If you don’t want to buy hardware (reasonable, IMO, since HDL is kind of niche and the boards can be pricey), you could try out the language with something like Verilator. This will let you write Verilog, and then compile it to generate C++ classes which simulate your design.

Re: Programming on Parallel Machines; GPU, Multicore, Clusters and More

#35
post #12

Earlier quoted context omitted.

Chapel[0] was created, in part to replace MPI in HPC communities. However, MPI remains dominant. [0] https://chapel-lang.org/

I would say Chapel was created less to replace MPI and more to provide a higher-level alternative to it that is amenable to compiler optimization.

[deleted]

Re: Programming on Parallel Machines; GPU, Multicore, Clusters and More

#36
post #12

Earlier quoted context omitted.

Chapel[0] was created, in part to replace MPI in HPC communities. However, MPI remains dominant. [0] https://chapel-lang.org/

I would say Chapel was created less to replace MPI and more to provide a higher-level alternative to it that is amenable to compiler optimization.

[deleted]
Post reply on HN