Ggml v1.0.0

(github.com)

124 points | by cobychapple 3 hours ago

9 comments

  • jacquesm 53 minutes ago
    What is really impressive about this project and llama.cpp as well is that they keep finding new ways to speed up the code on the same hardware. Every time I upgrade (once a month or so) there is usually a 5 to 10% speed boost.
  • evilelectron 2 hours ago
    Awesome! ggml and llama.cpp are the Linux of the AI world. Driving local inference one bit at a time.

    Wishing you unlimited power and may you never see a day of low battery. Respect and Love. Keep it up.

  • hizlikovboy27 6 minutes ago
    In my opinion, this is a genuine engineering product. LLM.cpp, the savior of our difficult times...
  • kodoman 1 hour ago
    Long time llama.cpp user (and user of other ggml based AI programs) running on my crappy AMD card that only supports vulkan and it's usable thanks to GGML and llama.cpp, great program great project.
  • palad1n 1 hour ago
    I prefer this entry point: https://github.com/ggml-org/ggml
  • snvzz 10 minutes ago
    Not just legacy hardware, but also ready for the immediate future, with RISC-V support.

    Congrats for 1.0.0.

  • no1guangming 16 minutes ago
    [flagged]
  • om8 1 hour ago
    Imagine naming a library after yourself.

    > GGML is a C library for machine learning (ML) - the "GG" refers to the initials of its originator (Georgi Gerganov).

    https://github.com/rustformers/llm/blob/main/crates/ggml/REA...

    • Iron_Ninja5 56 minutes ago
      Every single .exe file begins with the two letters MZ because Mark Zbikowski needed a "magic number" to begin the PE format.
    • cldellow 1 hour ago
      There's ample precedent for this. When you're building something to scratch an itch, the name is secondary. You cast about for one. Ah, you have a name. That'll do.

      For example, DJ Delorie's djgpp project, built in 1989, was how I got into "real" programming on MS DOS.

      • magicalhippo 55 minutes ago
        > DJ Delorie's djgpp project

        Fun story time. I started programming on Turbo Pascal. I had read some C code from those demo scene guides, so felt I understood it fairly well by the time I got my hands on a copy of djgpp. I decided to port a relatively simple program I had written in Turbo Pascal, about 300 LOC, line-by-line. It was a small demo just doing a simple rotating, texture-mapped triangle.

        I carefully converted it, and went over it several time one line at a time, fixing it until I had read over it three times and was happy.

        I then ran the djgpp compiler...

        Now, what I hadn't realized at the time was the difference between C and C++. The examples I had seen was C, and I didn't really know what C++ was.

        The compiler churned on my code and spit out about 3500 errors and warnings (it counted for me).

        I was shocked. How did my 300 line C program manage to produce over 10 errors and warnings per line, on average?!

        I spent a long time trying to figure this one out. The first error was inside the first function, and the error made no sense to me.

        After several days of carefully going over each line and banging my head against the table, I suddenly saw it. There, at the very start of the program, before the line the first error or warning pointed to.

        In Turbo Pascal I had used const to define things like screen width and height. So I'd have

          const SCREEN_WIDTH = 320;
          const SCREEN_HEIGHT = 240;
        
        Well, C doesn't have const, but I had picked up it had #define. However, my Turbo Pascal habits had kicked in, and so I had written

          #define SCREEN_WIDTH 320;
          #define SCREEN_HEIGHT 240;
        
        I removed the two semi-colons and the program compiled and ran just fine...

        I ended up staying in Turbo Pascal, I preferred a compiler that gave me sensible errors and quickly. I did pick up C++ much later, and I guess ironically came to appreciate its const correctness.

    • satvikpendem 16 minutes ago
      I don't have to imagine.
    • loeg 1 hour ago
      For example, Debian. AWK. PKZIP. ARJ. Korn shell. Bourne shell. jemalloc, dlmalloc. djbdns.
    • arcanemachiner 1 hour ago
      Hey, it worked for Carnegie!
      • musicale 43 minutes ago
        This is the winning response.

        And we can only hope that our modern robber barons will use their ill-gotten gains to create something as beneficial as Carnegie libraries.

    • jacquesm 51 minutes ago
      I'm biased (see: pianojacq.com)

      Imagine trying to name a file format for yourself even if it wasn't yours to begin with...

    • cherioo 1 hour ago
      Par for course for being Linux of AI
      • om8 1 hour ago
        Historically, Linus didn't name linux. Other people did it for him.

        > During the start of his work on the system, he stored the files under the name "Freax" for about half of a year. Torvalds had already considered the name "Linux", but initially dismissed it as too egotistical.

        https://en.wikipedia.org/wiki/History_of_Linux#Naming

        • 80fj0348i 42 minutes ago
          He did name Git, tho
    • newswasboring 1 hour ago
      They wrote a large portion (and all of the initial version I think), they can name it whatever tf they want.
    • CodingJeebus 1 hour ago
      What do you think Linux is named after?
      • om8 1 hour ago
        Answered in another thread
  • toolssogood 1 hour ago
    [flagged]