Hacker Newsnew | past | comments | ask | show | jobs | submit | syl20bnr's commentslogin

It will make more sense once you start using CubeCL. There's now a CubeCL book available: https://burn.dev/books/cubecl/.

It does come with some mental overhead, but let’s be honest, there’s no objectively “good” choice here without introducing bias toward a specific vendor API.

Learning the core concepts takes effort, but if CubeCL is useful for your work, it’s definitely worth it.


Burn is a new and innovative Deep Learning Framework in Rust and there is very few presentation material available about it. As an invited speaker at the 2025 "Scientific Computing in Rust" conference, Nathaniel made a first talk about why Rust was the best choice to make Burn and later CubeCL happen.


It also compiles directly to MSL, it is just missing from the post title.


No it compiles indirectly through wgpu, which means it doesn’t have access to any Metal extensions not exposed by the wgpu interface.


I am the coder of the MSL dialect for the CubeCL CPP compiler. Since 0.5 release it directly compiles to MSL and support simdgroup matrix functions for instance. It does use wgpu for the runtime but without naga as we added msl pass through to wgpu just for this.


You should update the README.


You are right we just released Burn and updated its readme, we were not thinking that CubeCL would be the one that could be featured. ^_^


wgpu has some options to access backend-specific types and shader passthrough (i.e., you provide your own shader for a backend directly).

Generally wgpu is open to supporting any Metal extensions you need. There's usually an analogous extension in one of the other backends (e.g., Vulkan, DX12) anyway.


More info on this here: https://github.com/syl20bnr/spacemacs/blob/master/doc/FAQ.or...

Can found more explanations on reddit for the bravest :-)


Thanks for reply. I like your idea of spacemacs. and what do you think of SpaceVim


There is such support in Spacemacs, it is called "spacemacs layouts" but the tab is visible only on demand while pressing `SPC l`. Eyebrowse is also integrated in Spacemacs layouts so you can have multiple sub-layouts for a given layouts. Note that Spacemacs layouts also achieve buffer isolation so you can have a layout restricted to project's buffers only, you can also create your own rules to automatically add buffers to some layouts (called custom layouts). Last you can persist Spacemacs layouts across sessions.


Layouts are fucking great. I have a moderately complex layout set up for my org-mode workflow (tasks list top left, agenda top center, notes file top right, kanban board bottom-left, and a scratch buffer bottom right), and they all load the same way every time. And I have project-specific layouts that get auto-loaded when I open that projectile project, and I have a general programming one as well. All of these took less than an hour to set up and work completely flawlessly.


I haven't used layouts much, but that sounds very useful.

Do you have your dotfiles somewhere online? Or could you put up the code needed for that setup in a gist/pastebin?


I don't have the dotfile up anywhere, but I can run you through the basics really quickly:

* SPC-l gives you the layouts micro-state, which allows you to do all of this. First, set up your layout however you'd like, then open up the micro-state and run the save-as command (SPC-l-S) and that will allow you to save the layout to a layouts file somewhere deep in the bowels of Spacemacs.

* When you're ready to use your layout, use SPC-l-L to load the layout from a file. Type its name (Helm is used, so you get narrowing/fuzzy-find for free) and the layout will load. Note that if you already had another layout loaded, it will load it to the next workspace (accessible through SPC-l-<workspace-number>).

* As for the org Kanban board, check here: http://www.draketo.de/light/english/free-software/el-kanban-... To add this to spacemacs, just open your .spacemacs file (SPC-f-e-d) and add `kanban` to your `dotspacemacs-additional-packages` list.


Spacemacs layouts are like having clippy in your text editor. "It looks like you're opening a tab, would you like to continue?", "What would you like to name this tab?". Vim just opens a tab.


And there is the `finance` layer for it with support for ledger :-)


Quick reply to address your issues:

- the binding menu idle time is configurable with the variable `dotspacemacs-which-key-delay`, check the docstring.

- The key binding you missed (should be listed in the quick start guide) is `SPC h SPC` which is used to find various info like FAQ, layers, packages config, dotfile variables etc... try it for yourself: `SPC h SPC which-key` and choose `dotspacemacs-which-key-delay` then RET, you can now modify its default value of 0.4sec to 0.

- `SPC :` to access _all_ interactive commands of Emacs (`SPC SPC` in develop, shortcut configurable of course).

- to discover how to close a window just press `SPC` then look for `window` and so on, it takes 10 seconds to discover it ;-)

- If you were not familiar with Vim you can choose to opt for Emacs key bindings and `SPC` becomes `ALT-m`, everything else is the same. But you are familiar with Vim so I don't see what issue you want to raise.

Thank you for trying Spacemacs :-)


Thanks for the detailed reply, very helpful :)

I wasn't trying to raise an issue at all, merely state that Spacemacs isn't as obvious to a new user as Atom - but I'm not saying that that's a bad thing, obviously (Spac)emacs has a lot more power under the hood potentially and I am sure is worth the additional effort to learn.

I have to say I'm impressed with what a good job you have done of making it user friendly :)


It is by default `M-m`.


There is a Go layer: http://spacemacs.org/layers/+lang/go/README.html

You can launch an evil-tutor to start with Vim key bindings by pressing `SPC h T`.


Pressing `SPC (or M-m) t E e` will switch the editing style to Emacs (cursor becomes blue) and you should be at home :-) From there the Spacemacs key bindings are available behind `M-m`.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: