• 0 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle
  • But at least regulators can force NVIDIA to open their CUDA library and at least have some translation layers like ZLUDA.

    I don’t believe there’s anything stopping AMD from re-implementing the CUDA APIs; In fact, I’m pretty sure this is exactly what HIP is for, even though it’s not 100% automatic. AMD probably can’t link against the CUDA libraries like cuDNN and cuBLAS, but I don’t know that it would be useful to do that anyway since I’m fairly certain those libraries have GPU-specific optimizations. AMD makes their own replacements for them anyway.

    IMO, the biggest annoyance with ROCm is that the consumer GPU support is very poor. On CUDA you can use any reasonably modern NVIDIA GPU and it will “just work.” This means if you’re a student, you have a reasonable chance of experimenting with compute libraries or even GPU programming if you have an NVIDIA card, but less so if you have an AMD card.


  • I work in CV and I have to agree that AMD is kind of OK-ish at best there. The core DL libraries like torch will play nice with ROCm, but you don’t have to look far to find third party libraries explicitly designed around CUDA or NVIDIA hardware in general. Some examples are the super popular OpenMMLab/mmcv framework, tiny-cuda-nn and nerfstudio for NeRFs, and Gaussian splatting. You could probably get these to work on ROCm with HIP but it’s a lot more of a hassle than configuring them on CUDA.



  • What I do have an issue with is new users that try and have problems and immediately start whinging that “FreeCAD isn’t like what I know. And it needs to be like my favorite” Those are the lazy people that can’t be bothered to learn something new. And they should either expend the effort to learn or go back to whatever they were using

    I think that’s fair, but most criticisms of FreeCAD from people coming from other CAD packages rather fall into your latter category that you mention here:

    But if you have given FreeCAD, (or ANYTHING new in life), an honest try and you can’t get the hang of it or simply don’t like it.

    I don’t think we’re actually disagreeing in principle, just on what we perceive as the common criticisms of FreeCAD. Normally, I’ve seen people from other CAD programs get frustrated at limitations within FreeCAD or needing to work around bugs in ways that slow them down. For example, FreeCAD previously was unable to cope with multiple geometries being contained in a single sketch (I believe 1.0 now supports multiple extrudes from different sketch regions, but previously FreeCAD would throw an error), which made modeling less efficient for those coming from programs like Solidworks where this feature exists. Throw other issues like toponaming into the mix and it’s no surprise people from other CAD programs tried learning it, got frustrated (since their baseline was better than what FreeCAD could offer) and moved on.

    I agree that criticizing FreeCAD for having different workflows than other CAD programs is a bit silly, though. I don’t really care what the exact workflow is as long as it 1) works and 2) is fast, and for me FreeCAD 1.0 (and previously Realthunder’s branch) ticks all the boxes there.

    I appreciate the respectful discussion!


  • I do think the point about all CAD packages having failure paths is a little overblown. Yes, you can definitely get proprietary CAD to break but in my experience (at least with Solidworks and Fusion), it usually requires much more complex parts than FreeCAD parts. Post 1.0 the situation is definitely better though.

    You’re right that users should try following best practices from day one, but realistically most users are not going to learn everything correctly automatically. They might use an out of date tutorial, or might have just learned by tinkering themselves.

    The point I was trying to make was that because FreeCAD operates differently than other CAD programs do to one another and because it’s generally a bit more brittle and demanding of the user, I can’t say I blame anyone for not wanting to switch to it if they already have a CAD program they’re proficient with. You could call it being lazy, but from a practical standpoint there isn’t necessarily a ton to gain for a relatively large amount of time investment required to be capable of using it.

    I really hope FreeCAD improves enough one day in the new user experience department. I love the software and have been using it as my tool of choice for years now, but evidently not everyone thinks it’s worth the time investment.


  • I’ll mention this fix is aimed at mitigating toponaming primarily for sketch attachment. Some features still struggle with toponaming, namely chamfers and fillets. But in any case, it’s a massive step forward and makes FreeCAD much easier to recommend! Until now I’ve been using Realthunder’s fork since toponaming was such a headache to resolve manually.


  • I think that’s a little unfair. The bigger issue IMO is that FreeCAD doesn’t quite share the same workflow as other (proprierary) CAD packages, so someone coming from proprietary CAD also needs to unlearn habits that were previously fine but now potentially harmful. For example, adding chamfers and fillets in FreeCAD pretty much should only be done at the end to avoid toponaming issues, which is less of an issue in other packages.


  • Yeah we used to joke that if you wanted to sell a car with high-resolution LiDAR, the LiDAR sensor would cost as much as the car. I think others in this thread are conflating the price of other forms of LiDAR (usually sparse and low resolution, like that on 3D printers) with that of dense, high resolution LiDAR. However, the cost has definitely still come down.

    I agree that perception models aren’t great at this task yet. IMO monodepth never produces reliable 3D point clouds, even though the depth maps and metrics look reasonable. MVS does better but is still prone to errors. I do wonder if any companies are considering depth completion with sparse LiDAR instead. The papers I’ve seen on this topic usually produce much more convincing pointclouds.



  • I use a lot of AI/DL-based tools in my personal life and hobbies. As a photographer, DL-based denoising means I can get better photos, especially in low light. DL-based deconvolution tools help to sharpen my astrophotos as well. The deep learning based subject tracking on my camera also helps me get more in focus shots of wildlife. As a birder, tools like Merlin BirdID’s audio recognition and image classification methods are helpful when I encounter a bird I don’t yet know how to identify.

    I don’t typically use GenAI (LLMs, diffusion models) in my personal life, but Microsoft Copilot does help me write visualization scripts for my research. I can never remember the right methods for visualization libraries in Python, and Copilot/ChatGPT do a pretty good job at that.


  • There is no “artificial intelligence” so there are no use cases. None of the examples in this thread show any actual intelligence.

    There certainly is (narrow) artificial intelligence. The examples in this thread are almost all deep learning models, which fall under ML, which in turn falls under the field of AI. They’re all artificial intelligence approaches, even if they aren’t artificial general intelligence, which more closely aligns with what a layperson thinks of when they say AI.

    The problem with your characterization (showing “actual intelligence”) is that it’s super subjective. Historically, being able to play Go and to a lesser extent Chess at a professional level was considered to require intelligence. Now that algorithms can play these games, folks (even those in the field) no longer think they require intelligence and shift the goal posts. The same was said about many CV tasks like classification and segmentation until modern methods became very accurate.




  • Fair enough! I think it’s more common for games to do that, but sometimes I had trouble with software on Windows that used virtualization elements themself. I probably just didn’t properly configure HyperV settings, but I know nested virtualization can be tricky.

    For me it’s also because I’m on a laptop, and my Windows VM relies on me passing through an external GPU over TB3 but my laptops’ dedicated GPU has no connection to a display, so it would be tricky to try and do GPU passthrough on the VM if I were on the go. I like being able to boot Windows on the go to edit photos in Lightroom, for example, but otherwise I’d prefer to run the Linux host and use the Windows VM only as needed.


  • I’m a fan of dual booting AND using a passthrough VM. It’s easiest to set up if your machine has two NVMe slots and you put each OS on its own drive. This way you can pass the Windows NVMe through to the VM directly.

    The advantage of this configuration is that you get the convenience of not needing to reboot to run some Windows specific software, but if you need to run software that doesn’t play nice with virtualization (maybe a program has too large a performance hit with virtualization, or software you want to run doesn’t support virtualized systems, like some anticheat-enabled games), you can always reboot to your same Windows installation directly.


  • GPU and overall firmware support is always better on x86 systems, so makes sense that you switched to that for your application. Performance is also usually better if you don’t explicitly need low power. In my use case I use the Orange Pi 5 Plus for running an astrophotography rig, so I needed something that was low power, could run Linux easily, had USB 3, reasonable single core performance, and preferably had the possibility of an upgradable A key WiFi card and a full speed NVMe E key slot for storage (preferably PCIe 3.0x4 or better). Having hardware serial ports was a plus too. x86 boxes would’ve been preferable but a lot of the cheaper stuff are older Intel mini PCs which have pretty poor battery life, and the newer power efficient stuff (N100 based) is more expensive and the cheaper ones I found tended to have onboard soldered WiFi cards unfortunately. Accordingly the Orange Pi 5 Plus ended up being my cheapest option that ticked all my boxes. If only software support was as good as x86!

    Interesting to hear about the NPU. I work in CV and I’ve wondered how usable the NPU was. How did you integrate deep learning models with it? I presume there’s some conversion from runtime frameworks like ONNX to the NPU’s toolkit, but I’d love to learn more.

    I’m also aware that Collabora has gotten the NPU drivers upstreamed, but I don’t know how NPUs are traditionally interfaced with on Linux.



  • Yep, and for good reason honestly. I work in CV and while I don’t work on autonomous vehicles, many of the folks I know have previously worked at companies or research institutes on these kinds of problems and all of them agree that in a scenario like this, you should treat the state of the vehicle as compromised and go into an error/shutdown mode.

    Nobody wants to give their vehicle an override that can potentially harm the safety of those inside it or around it, and practically speaking there aren’t many options that guarantee safety other than this.


  • KingRandomGuy@lemmy.worldtoTechnology@lemmy.world*deleted by creator*
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    1
    ·
    11 months ago

    Afaik the StarFive SOCs used in SBCs are a lot slower than current ARM offerings. Part of that might be because software support is worse, so maybe compilers and related tooling aren’t yet optimized for them?

    Hopefully development on these continues to improve though. The biggest nail in the coffin for Pi alternatives has been software support.


  • I’m a researcher in ML and that’s not the definition that I’ve heard. Normally the way I’ve seen AI defined is any computational method with the ability to complete tasks that are thought to require intelligence.

    This definition admittedly sucks. It’s very vague, and it comes with the problem that the bar for requiring intelligence shifts every time the field solves something new. We sort of go “well, given these relatively simple methods could solve it, I guess it couldn’t have really required intelligence.”

    The definition you listed is generally more in line with AGI, which is what people likely think of when they hear the term AI.