LoopVectorization.jl VS awesome-lisp-companies

Compare LoopVectorization.jl vs awesome-lisp-companies and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
LoopVectorization.jl awesome-lisp-companies
10 51
722 577
0.6% -
7.0 6.8
5 days ago about 1 month ago
Julia
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

LoopVectorization.jl

Posts with mentions or reviews of LoopVectorization.jl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-02.
  • Mojo – a new programming language for all AI developers
    7 projects | news.ycombinator.com | 2 May 2023
    It is a little disappointing that they're setting the bar against vanilla Python in their comparisons. While I'm sure they have put massive engineering effort into their ML compiler, the demos they showed of matmul are not that impressive in an absolute sense; with the analogous Julia code, making use of [LoopVectorization.jl](https://github.com/JuliaSIMD/LoopVectorization.jl) to automatically choose good defaults for vectorization, etc...

    ```

  • Knight’s Landing: Atom with AVX-512
    1 project | news.ycombinator.com | 10 Dec 2022
  • Python 3.11 is 25% faster than 3.10 on average
    13 projects | news.ycombinator.com | 6 Jul 2022
    > My mistake in retrospect was using small arrays as part of a struct, which being immutable got replaced at each time step with a new struct requiring new arrays to be allocated and initialized. I would not have done that in c++, but julia puts my brain in matlab mode.

    I see. Yes, it's an interesting design space where Julia makes both heap and stack allocations easy enough, so sometimes you just reach for the heap like in MATLAB mode. Hopefully Prem and Shuhei's work lands soon enough to stack allocate small non-escaping arrays so that user's done need to think about this.

    > Alignment I'd assumed, but padding the struct instead of the tuple did nothing, so probably extra work to clear a piece of an simd load. Any insight on why avx availability didn't help would be appreciated. I did verify some avx instructions were in the asm it generated, so it knew, it just didn't use.

    The major differences at this point seem to come down to GCC (g++) vs LLVM and proofs of aliasing. LLVM's auto-vectorizer isn't that great, and it seems to be able to prove 2 arrays are not aliasing less reliably. For the first part, some people have just improved the loop analysis code from the Julia side (https://github.com/JuliaSIMD/LoopVectorization.jl), forcing SIMD onto LLVM can help it make the right choices. But for the second part you do need to do `@simd ivdep for ...` (or use LoopVectorization.jl) to match some C++ examples. This is hopefully one of the things that the JET.jl and other new analysis passes can help with, along with the new effects system (see https://github.com/JuliaLang/julia/pull/43852, this is a pretty huge new compiler feature in v1.8, but right now it's manually specified and will take time before things like https://github.com/JuliaLang/julia/pull/44822 land and start to make it more pervasive). When that's all together, LLVM will have more ammo for proving things more effectively (pun intended).

  • Vectorize function calls
    2 projects | /r/Julia | 25 Apr 2022
    This looks nice too. Seems to be maintained and it even has a vmap-function. What more can one ask for ;) https://github.com/JuliaSIMD/LoopVectorization.jl
  • Implementing dedispersion in Julia.
    4 projects | /r/Julia | 16 Mar 2022
    Have you checked out https://github.com/JuliaSIMD/LoopVectorization.jl ? It may be useful for your specific use case
  • We Use Julia, 10 Years Later
    10 projects | news.ycombinator.com | 14 Feb 2022
    And the "how" behind Octavian.jl is basically LoopVectorization.jl [1], which helps make optimal use of your CPU's SIMD instructions.

    Currently there can some nontrivial compilation latency with this approach, but since LV ultimately emits custom LLVM it's actually perfectly compatible with StaticCompiler.jl [2] following Mason's rewrite, so stay tuned on that front.

    [1] https://github.com/JuliaSIMD/LoopVectorization.jl

    [2] https://github.com/tshort/StaticCompiler.jl

  • Why Lisp? (2015)
    21 projects | news.ycombinator.com | 26 Oct 2021
    Yes, and sorry if I also came off as combative here, it was not my intention either. I've used some Common Lisp before I got into Julia (though I never got super proficient with it) and I think it's an excellent language and it's too bad it doesn't get more attention.

    I just wanted to share what I think is cool about julia from a metaprogramming point of view, which I think is actually its greatest strength.

    > here is a hypothetical question that can be asked: would a julia programmer be more powerful if llvm was written in julia? i think the answer is clear that they would be

    Sure, I'd agree it'd be great if LLVM was written in julia. However, I also don't think it's a very high priority because there are all sorts of ways to basically slap LLVM's hands out of the way and say "no, I'll just do this part myself."

    E.g. consider LoopVectorization.jl [1] which is doing some very advanced program transformations that would normally be done at the LLVM (or lower) level. This package is written in pure Julia and is all about bypassing LLVM's pipelines and creating hyper efficient microkernels that are competitive with the handwritten assembly in BLAS systems.

    To your point, yes Chris' life likely would have been easier here if LLVM was written in julia, but also he managed to create this with a lot less man-power in a lot less time than anything like it that I know of, and it's screaming fast so I don't think it was such a huge impediment for him that LLVM wasn't implemented in julia.

    [1] https://github.com/JuliaSIMD/LoopVectorization.jl

  • A Project of One’s Own
    2 projects | news.ycombinator.com | 8 Jun 2021
    He still holds a few land speed records he set with motorcycles he designed and built.

    But I had no real hobbies or passions of my own, other than playing card games.

    It wasn't until my twenties, after I already graduated college with degrees I wasn't interested in and my dad's health failed, that I first tried programming. A decade earlier, my dad was attending the local Linux meetings when away from his machine shop.

    Programming, and especially performance optimization/loop vectorization are now my passion and consume most of my free time (https://github.com/JuliaSIMD/LoopVectorization.jl).

    Hearing all the stories about people starting and getting hooked when they were 11 makes me feel like I lost a dozen years of my life. I had every opportunity, but just didn't take them. If I had children, I would worry for them.

  • When porting numpy code to Julia, is it worth it to keep the code vectorized?
    1 project | /r/Julia | 7 Jun 2021
    Julia will often do SIMD under the hood with either a for loop or a broadcasted version, so you generally shouldn't have to worry about it. But for more advanced cases you can look at https://github.com/JuliaSIMD/LoopVectorization.jl
  • Julia 1.6 Highlights
    9 projects | news.ycombinator.com | 25 Mar 2021
    Very often benchmarks include compilation time of julia, which might be slow. Sometimes they rightfully do so, but often it's really apples and oranges when benchmarking vs C/C++/Rust/Fortran. Julia 1.6 shows compilation time in the `@time f()` macro, but Julia programmers typically use @btime from the BenchmarkTools package to get better timings (e.g. median runtime over n function calls).

    I think it's more interesting to see what people do with the language instead of focusing on microbenchmarks. There's for instance this great package https://github.com/JuliaSIMD/LoopVectorization.jl which exports a simple macro `@avx` which you can stick to loops to vectorize them in ways better than the compiler (=LLVM). It's quite remarkable you can implement this in the language as a package as opposed to having LLVM improve or the julia compiler team figure this out.

    See the docs which kinda read like blog posts: https://juliasimd.github.io/LoopVectorization.jl/stable/

awesome-lisp-companies

Posts with mentions or reviews of awesome-lisp-companies. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-16.
  • Google Common Lisp Style Guide
    3 projects | news.ycombinator.com | 16 Apr 2024
    Thanks to ITA Software (powering Kayak and Orbitz), Google dedicates resources to open-source Common Lisp development. More specifically, to SBCL:

    > Doug Katzman talked about his work at Google getting SBCL to work with Unix better. For those of you who don’t know, he’s done a lot of work on SBCL over the past couple of years, not only adding a lot of new features to the GC and making it play better with applications which have alien parts to them, but also has done a tremendous amount of cleanup on the internals and has helped SBCL become even more Sanely Bootstrappable. That’s a topic for another time, and I hope Doug or Christophe will have the time to write up about the recent improvements to the process, since it really is quite interesting.

    > Anyway, what Doug talked about was his work on making SBCL more amenable to external debugging tools, such as gdb and external profilers. It seems like they interface with aliens a lot from Lisp at Google, so it’s nice to have backtraces from alien tools understand Lisp. It turns out a lot of prerequisite work was needed to make SBCL play nice like this, including implementing a non-moving GC runtime, so that Lisp objects and especially Lisp code (which are normally dynamic space objects and move around just like everything else) can’t evade the aliens and will always have known locations.

    https://mstmetent.blogspot.com/2020/01/sbcl20-in-vienna-last...

    https://lisp-journey.gitlab.io/blog/yes-google-develops-comm...

    The ASDF system definition facility, at the heart of CL projects, also comes from Google developers.

    While we're at it, some more companies using CL today: https://github.com/azzamsa/awesome-lisp-companies/

  • Why Is Common Lisp Not the Most Popular Programming Language?
    8 projects | news.ycombinator.com | 14 Feb 2024
    Everyone, if you don't have a clue on how's Common Lisp going these days, I suggest:

    https://lisp-journey.gitlab.io/blog/these-years-in-common-li... (https://www.reddit.com/r/lisp/comments/107oejk/these_years_i...)

    A curated list of libraries: https://github.com/CodyReichert/awesome-cl

    Some companies, the ones we hear about: https://github.com/azzamsa/awesome-lisp-companies/

    and oh, some more editors besides Emacs or Vim: https://lispcookbook.github.io/cl-cookbook/editor-support.ht... (Atom/Pulsar support is good, VSCode support less so, Jetbrains one getting good, Lem is a modern Emacsy built in CL, Jupyter notebooks, cl-repl for a terminal REPL, etc)

  • We need to talk about parentheses
    6 projects | news.ycombinator.com | 12 Feb 2024
    Examples (for Common Lisp, so not citing Emacs): reddit v1, Google's ITA Software that powers airfare search engines (Kayak, Orbitz…), Postgres' pgloader (http://pgloader.io/), which was re-written from Python to Common Lisp, Opus Modus for music composition, the Maxima CAS, PTC 3D designer CAD software (used by big brands worldwide), Grammarly, Mirai, the 3D editor that designed Gollum's face, the ScoreCloud app that lets you whistle or play an instrument and get the music score,

    but also the ACL2 theorem prover, used in the industry since the 90s, NASA's PVS provers and SPIKE scheduler used for Hubble and JWT, many companies in Quantum Computing, companies like SISCOG, who plans the transportation systems of european metropolis' underground since the 80s, Ravenpack who's into big-data analysis for financial services (they might be hiring), Keepit (https://www.keepit.com/), Pocket Change (Japan, https://www.pocket-change.jp/en/), the new Feetr in trading (https://feetr.io/, you can search HN), Airbus, Alstom, Planisware (https://planisware.com),

    or also the open-source screenshotbot (https://screenshotbot.io), the Kandria game (https://kandria.com/),

    and the companies in https://github.com/azzamsa/awesome-lisp-companies and on LispWorks and Allegro's Success Stories.

    https://github.com/tamurashingo/reddit1.0/

    http://opusmodus.com/

    https://www.ptc.com/en/products/cad/3d-design

    http://www.izware.com/mirai

    https://apps.apple.com/us/app/scorecloud-express/id566535238

  • A Tour of Lisps
    8 projects | news.ycombinator.com | 29 Jan 2024
  • All of Mark Watson's Lisp Books
    6 projects | news.ycombinator.com | 24 Jul 2023
    > but there doesn't seem to be one that really stands out as pragmatic, industrial

    disagree ;) This industrial language is Common Lisp.

    Some industrial uses:

    - http://www.lispworks.com/success-stories/index.html

    - https://github.com/azzamsa/awesome-lisp-companies/

    - https://lisp-lang.org/success/

    Example companies: Intel's programmable chips, the ACL2 theorem prover (https://royalsocietypublishing.org/doi/10.1098/rsta.2015.039...), urban transportation planning systems (SISCOG), Quantum Computing (HRL Labs, Rigetti…), big data financial analysis (Ravenpack, they might be hiring), Google, Boeing, the NASA, etc.

    ps: Python competing? strong disagree^^

  • Why Common Lisp is used to implement commercial products at Secure Outcomes (2010)
    1 project | /r/lisp | 9 Jul 2023
    and of course, a quite recent list of companies, in addition of LW's success stories page: https://github.com/azzamsa/awesome-lisp-companies/
  • Steel Bank Common Lisp
    9 projects | news.ycombinator.com | 30 Jun 2023
    Hey there, newer member of the first group here. Please see https://github.com/azzamsa/awesome-lisp-companies/ to update your meta-comment. So, is CL used in the industry today, yes or no?

    Personal note: I much prefer to maintain a long-living software in Common Lisp rather than in Python, thank you very much. May all the new programmers learn easily and all the teams have lots of ~~burden~~ work with Python, good for them.

  • Racket: The Lisp for the Modern Day
    6 projects | news.ycombinator.com | 29 Jun 2023
    Common Lisp has many industrial uses though.

    (https://github.com/azzamsa/awesome-lisp-companies/

    https://lisp-lang.org/success/

    http://www.lispworks.com/success-stories/index.html

    such as

    https://www.cs.utexas.edu/users/moore/acl2/ (theorem prover used by big corp©)

    https://allegrograph.com/press_room/barefoot-networks-uses-f... (Intel programmable chip)

    quantum compilers https://news.ycombinator.com/item?id=32741928

    etc, etc, etc)

  • Why Lisp Syntax Works
    5 projects | news.ycombinator.com | 5 Jun 2023
    A few more that we know of, using CL today: https://github.com/azzamsa/awesome-lisp-companies/

    Others: https://lisp-lang.org/success/

  • How to Understand and Use Common Lisp
    5 projects | news.ycombinator.com | 14 May 2023
    yes

    https://github.com/azzamsa/awesome-lisp-companies

    http://lisp-lang.org/success/

    industrial theorem prover, design of Intel chips, quantum compilers...

    and little me, being more productive and having more fun than with python to deploy boring tools (read a DB, format the data, send to FTP servers, show a web interface...).

What are some alternatives?

When comparing LoopVectorization.jl and awesome-lisp-companies you can also consider the following projects:

CUDA.jl - CUDA programming in Julia.

Carp - A statically typed lisp, without a GC, for real-time applications.

julia - The Julia Programming Language

portacle - A portable common lisp development environment

StaticCompiler.jl - Compiles Julia code to a standalone library (experimental)

cl-cuda - Cl-cuda is a library to use NVIDIA CUDA in Common Lisp programs.

coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.

julia-vim - Vim support for Julia.

Fennel - Lua Lisp Language

cmu-infix - Updated infix.cl of the CMU AI repository, originally written by Mark Kantrowitz

kandria - A post-apocalyptic actionRPG. Now on Steam!