2,841 karma · joined November 20, 2012
juuso.dev
EDIT: And when I mean formally define, I mean something that is machine-checkable so implementations would have a conformance suite.
<meta http-equiv="refresh" content="1; url='https://news.ycombinator.com/'" />
in the header.
It can, but it's worth noticing that the programming paradigm is different. For this reason, I would assume you are still writing a DSL within Rust which can use Rust's type checker to help you figure out what to write and how, but Rust in itself cannot represent the same semantics as-is that is required to write efficient parallel code. So, you still need to be a domain expert. But, automating the bytecode writing is alleviated by Rust's ability to provide packages etc.
I refactored some OpenMP code to run on SPIR-V using the Vulkan API the OP project uses, and I must say that I cannot see myself doing it in any other language than Rust.
In rural areas the ADSL prices started climbing up a few years ago and most moved to cellular (60 euros for 21Mbps ADSL vs 25 euros for 50Mbps 4G). As of recent fiber connections are getting good in rural areas as well, so people are switching to fiber (40 euros for 100/100Mbps, 60 euros for 1000/1000Mbps). People who have both 4G router + fiber are quite rare.
In my experience some channels on 4G are quite ossified and during peak times you might even get a better throughput on 3G.
In general, Vulkan is a thing which commands the GPU, but is not opinionated on what the language used to represent the kernel is as long as it compiles to SPIR-V. SPIR-V in itself is like parallel LLVM IR. If you look into the project source, the shaders are in GLSL which have been pre-compiled using a cross-compiler into SPIR-V. The C file you find on the project root constitutes as the loader program for the SPIR-V files.
Futhark project did some initial benchmarks on translating OpenCL to Vulkan. The results were mainly slowdowns. You can read about it in here: https://futhark-lang.org/student-projects/steffen-msc-projec...
Personally, I would have a hard time hiring anyone without a Github account and less so working in a place where nobody has one.
It's also easy to see the distinction between different phases in academia: after PhD it's much more about what could be done against what can be done. It's more like trying to get VC money with just an idea. It's hard, but some can do it, but it requires a vastly different playbook than what is required to get the degree. If you already know how to make things work, it's easier to transition into a bootstrapped mode where you can sideline as an independent researcher without all the fluff of publishing.
Most universities don't really teach parallel algorithm development in any way despite the core count increasing in both CPU and GPU world.
Current languages like GLSL and CUDA are very abstracted in the sense that they don't really tell why some approach is better or worse than the other. To me, if you can create as general cellular automata -like solution, then such logic can be converted and is generally fine performance-wise for SIMD orientated programming.
Regardless, I appreciate your efforts. A huge disappointment that a common and shared IR could not be agreed on.
Source-code is here: https://github.com/Laged/laskin.live
This way you can use some "better" API like Vulkan to run programs that are written in the new SPIR-V intermediate representation. In general, if you are interested in GPU programming, I would definitely look into WebGPU. The API is much easier to get started than Vulkan is, and achieves the most basic things required for simple GPGPU tasks (despite the fact that WebGPU can use Vulkan as the GPU API driver).
Note that WebGPU needs a browser flag to be enabled, and is generally very dangerous. It's possible to kernel panic operating systems on web page load, despite the fact that you are using a web browser.
Further, even though Oura is a private company, its financial information is public (as is any Finnish company's): https://www.finder.fi/Tuotekehitys+tutkimus-+ja+suunnittelup...
Most of the learning curve comes from the lingo. Especially now that 5G introduces softwarization of many of the network functions, the terms used by the cellular and software industries clash and may be confusing at times. But you can definitely learn the high-level idea of how the cellular networks function in this way.
For physical level things, I imagine that a degree in signal processing is required. And for more advanced software interfaces, I am afraid that you can only read about them, as most devices on which the software is implemented is proprietary. The open-source software you can find is in no-way as fully implemented as the actual software which runs commercial networks.