[HN Gopher] Outperforming Rust DNA sequence parsing benchmarks b...
       ___________________________________________________________________
        
       Outperforming Rust DNA sequence parsing benchmarks by 50% with Mojo
        
       Author : _diyar
       Score  : 34 points
       Date   : 2024-02-07 16:58 UTC (6 hours ago)
        
 (HTM) web link (www.modular.com)
 (TXT) w3m dump (www.modular.com)
        
       | john-tells-all wrote:
       | Given that Mojo is a _very_ Python-compatible language, this is
       | incredible! Mojo gives most of the benefits of Python (immense
       | ecosystem, short and clear code), with incredible speed.
        
       | seanray wrote:
       | Is this comparing normal Rust vs Moji with SIMD? I don't see how
       | Mojo can produce faster code than C/C++/Rust. Must all be in the
       | implementation details, I feel this is a misleading title if so.
        
       | tripplyons wrote:
       | I want to see some comparisons with other python libraries like
       | numpy, jax, and numba.
        
       | dark__paladin wrote:
       | Everything about Mojo is suspicious to me. Maybe I'm paranoid,
       | but Modular has made wild performance claims in the past without
       | releasing much information in regard to implementation [citation
       | needed], plus leaning so far into the AI stuff smells of a
       | marketing-first project IMO.
        
         | chrislattner wrote:
         | I think you're being paranoid here :-). I encourage you to
         | download mojo and try it out. This code is all OSS, so go nuts
         | validating it yourself. If you'd like to know how mojo works
         | there is a lot of information on the Modular blog:
         | 
         | https://www.modular.com/blog
         | 
         | e.g. these might be interesting:
         | 
         | https://www.modular.com/blog/mojo-llvm-2023
         | https://www.modular.com/blog/what-is-loop-unrolling-how-you-...
         | 
         | If you still have doubts, you could join the 20,000+ people in
         | discord chatting about Mojo stuff:
         | https://discord.com/invite/modular
         | 
         | -Chris
        
         | andy99 wrote:
         | The performance claims felt cherry picked which I found
         | offputting. It seems like the reality is that it makes some
         | kinds of optimizations easier, which has value in a space like
         | ML where people don't want to focus on optimization.
         | 
         | I think your suspicion may also come from it not being open
         | source which is also a non-starter for me. My hope is if they
         | have some good ideas that can be copied into open source
         | projects or it could be open sourced itself.
        
       | fulafel wrote:
       | Any theories why the compiler didn't manage to use SIMD without
       | the manual SIMD code?
        
         | chrislattner wrote:
         | LLVM has an autovectorizer which is quite good, but such tech
         | is limited because (eg) it can't change memory layout.
         | 
         | Speaking as someone who has spent more than 20 years writing
         | compilers (e.g. LLVM, MLIR, etc), my opinion is that
         | autovectorizers are a class of tech that are best applied to
         | get speedups on legacy code bases. If you care about
         | performance a lot, you shouldn't use them IMO - they are
         | unpredictable and have performance cliffs.
         | 
         | -Chris
        
       | Croisonetto wrote:
       | The article sheds light on Mojo's potential, but with every such
       | article, I'm cautious not to get overly hyped. Many key factors
       | will come into play; long-term support and community growth will
       | be crucial for its adoption. Additionally, I'm curious about the
       | learning curve for Python developers looking to switch or
       | integrate Mojo into their workflows. Still looking forward to all
       | new information about Mojo's development and its source code
       | getting published someday soon
        
       | spoder wrote:
       | Surely the Mojo implementation doesn't miss something like maybe
       | error handling?
        
       | Isomorpheus wrote:
       | Since Chris is lurking: will Mojo on GPUs be more like using Jax
       | (relying on compiler), Triton (more control, but abstracted), or
       | more like CUDA (close to maximal control)? Combination? Nvidia
       | and AMD support out of box?
        
         | chrislattner wrote:
         | Modular is enabling all of the above for different audiences.
         | MAX provides an operator-graph level abstraction like PyTorch
         | or JAX have, and we expect a bunch of high level libraries like
         | nn.module to get built out over time by the community. You can
         | also go directly to the GPU with a classical CUDA-like
         | programming model for maximal control.
         | 
         | In between we have something we're cooking that I think will be
         | pretty interesting for GPU kernel authors, but it isn't public
         | yet. :-)
         | 
         | The nice thing about this is that it is one system that scales,
         | instead of a bunch of different/inconsistent tech built by
         | different teams over many years, held together with duct tape.
         | Simple and consistent makes it much easier to do the kinds of
         | research and experimentation that power AI ecosystem.
        
           | Isomorpheus wrote:
           | Thanks for the reply. Sounds exciting, looking forward to the
           | future of Modular!
        
       ___________________________________________________________________
       (page generated 2024-02-07 23:02 UTC)