Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 16:36

    steven-johnson on xtensa-codegen

    Don't mutate GeneratorParams in… Merge branch 'main' into xtensa… (compare)

  • 16:34

    steven-johnson on fix-mutable-py-gp

    (compare)

  • 16:34

    steven-johnson on main

    Don't mutate GeneratorParams in… (compare)

  • 16:34
    steven-johnson closed #7052
  • 16:26

    vksnk on xtensa-codegen

    add_requirement() maintenance (… Fix false positive use after fr… Allow call_intrin to call an LL… and 4 more (compare)

  • 13:23

    zvookin on llvm_vector_predication_intrinsics

    Allow CodeGen_LLVM::codegen_buf… Make Halide::round behave as do… Merge branch 'main' into llvm_v… (compare)

  • Sep 26 23:11
    derek-gerstmann synchronize #6924
  • Sep 26 23:11

    derek-gerstmann on vulkan-phase2-runtime

    Remove leftover ifdef (compare)

  • Sep 26 23:07
    steven-johnson synchronize #7052
  • Sep 26 23:07

    steven-johnson on fix-mutable-py-gp

    Update _generator_helpers.py (compare)

  • Sep 26 22:50
    derek-gerstmann synchronize #6924
  • Sep 26 22:50

    derek-gerstmann on vulkan-phase2-runtime

    Fix formatting (compare)

  • Sep 26 22:48
    steven-johnson synchronize #7052
  • Sep 26 22:48

    steven-johnson on fix-mutable-py-gp

    Update _generator_helpers.py (compare)

  • Sep 26 22:48
    derek-gerstmann synchronize #6924
  • Sep 26 22:39
    steven-johnson review_requested #7052
  • Sep 26 22:39
    steven-johnson opened #7052
  • Sep 26 22:39
    steven-johnson review_requested #7052
  • Sep 26 22:39

    steven-johnson on fix-mutable-py-gp

    Don't mutate GeneratorParams in… (compare)

  • Sep 26 21:47

    abadams on main

    Make Halide::round behave as do… (compare)

Roman Lebedev
@lebedevri:matrix.org
[m]
there's perhaps a but of a conflation. yep, llvm middle-end ir is, uh, cursed. i would actually think that it's at evolutionary end. nowhere in that issue did i mention anything about llvm middle-end ir
Zalman Stern
@zvookin
It seems questionable to be part of the LLVM project if we're trying for some degree of IR independence.
I'm not sure the precise definition of "middle-end" here.
What I'm talking about is just "LLVM IR" so far as I know.
I guess there's SIL and MLIR which would maybe be before it.
Roman Lebedev
@lebedevri:matrix.org
[m]
Roman Lebedev
@lebedevri:matrix.org
[m]
i'm not really sure what you are saying, in the sense that i think we actually agree - existence of the current LLVM IR middle-end, or even LLVM back-ends does not mean that they are what must be used
e.g. there's this weird thing that surely doesn't make use of CPU backends: https://github.com/llvm/circt
Zalman Stern
@zvookin
Generally the reason we've looked at being part of the LLVM project before is to get into the test matrix so API changes and bugs get handled more quickly. Other than that, I'm not sure why we would want to consider it.
There has been talk of trying to get a more formal organization around the project. Khronos has been mentioned as well. None of this has seemed to address the technical goals however.
It largely strikes me as orthogonal
It would be nice to have a structure in which the project could receive money and use it for certain things. (E.g. cloud resources.)
But so far, the contributing companies have been able to make it work and it is less structure/process to deal with.
2 replies
Roman Lebedev
@lebedevri:matrix.org
[m]
@zvookin: honestly i don't follow at all now. that's completely orthogonal to the question i asked.
Zalman Stern
@zvookin
@lebedevri:matrix.org I'm not the least bit interested in a rewrite or becoming a project under the LLVM umbrella.
Moreover, your proposal mostly misses the real issue with Halide becoming widely adopted. That issue is that scheduling is effectively aspect oriented programing and it has very large effects on whole programs and is difficult to do. It also makes developing reusable components in Halide challenging. For easy use by large numbers of programmers, their programming model has to change to something more like electronics design where prewritten processing blocks are configured and composed, and then an automated system, hopefully allowing guidance as necessary, makes a vast number of decisions to produce the final low-level representation.
That has little to do with the listed technical shortcomings of the implementation.
Zalman Stern
@zvookin
Autoscheduling is a wonderful research area and could greatly improve usability. There are definitely ways in which the implementation has been a hinderance to this work, particularly lack of serialization, especially for the schedule itself. However addressing that within the current code is not prohibitively difficult.
lebedevri
@lebedevri:matrix.org
[m]
@zvookin: you are indeed absolutely correct. that rant indeed does not even mention said real issue, because my issue is much more ground based
Roman Lebedev
@lebedevri:matrix.org
[m]
Alex Reinking: (still waiting for the release, btw)
Alex Reinking
@alexreinking:matrix.org
[m]
Yeah, we're deciding on which PRs to get in and then I'll cut the release
steven-johnson
@steven-johnson:matrix.org
[m]
heh, I didn't even notice that LLVM15 was officially release :-)
Alex Reinking
@alexreinking:matrix.org
[m]
I think we want to get the Python stuff a little more stable (and pip compatible) at least
steven-johnson
@steven-johnson:matrix.org
[m]
yeah
Alex Reinking
@alexreinking:matrix.org
[m]
I'm finishing an internship this week, too
steven-johnson
@steven-johnson:matrix.org
[m]
although backing out the python changes will be, uh, tricky
Alex Reinking
@alexreinking:matrix.org
[m]
I don't think we're going to back those out
steven-johnson
@steven-johnson:matrix.org
[m]
looks like top of tree LLVM is failing to build (!) for 32-bit linux, investigating
steven-johnson
@steven-johnson:matrix.org
[m]
...apparently LLVM doesn't have buildbots that test x86-32?
That's disturbing
Átila Saraiva Quintela Soares
@AtilaSaraiva
Folks, is there a schedule for distributed computing on the vanilla halide? I know there is an old prototype by Tyler Denniston, but I'm not sure if the feature has been incorporated into the project
I'm asking because I'm planing on using halide for seismic data modeling, and it would be very nice to have such a schedule
Zalman Stern
@zvookin
As in across a non-shared memory cluster? I don't think so.
Átila Saraiva Quintela Soares
@AtilaSaraiva

As in across a non-shared memory cluster? I don't think so.

Yeah, I'd like that

well, it could be multiple gpus in a single node too, idk
steven-johnson
@steven-johnson:matrix.org
[m]
Hi all -- proposed fix for the LLVM breakage on x86-32 is pending here https://reviews.llvm.org/D134653
So hopefully in a day-ish we'll be unbroken again
(On this note: is anyone out there relying on using Halide for x86-32, either as a compilation host or a compilation target? If so, please chime in there and also at https://discourse.llvm.org/t/x86-32-bit-testing/65480 as it appears that LLVM no longer does presubmit testing on 32-bit.)
steven-johnson
@steven-johnson:matrix.org
[m]
FYI, the fix has landed upstream; I'm rebuilding the 32-bit LLVMs on the buildbots now, so hopefully within an hour or so we'll be healthy again
Pranav Bhandarkar
@pranavb-ca
@steven-johnson:matrix.org @alexreinking:matrix.org - We test apps using cmake but don't seem to run correctness tests using ctest? I am looking at these buildbot runs -> https://buildbot.halide-lang.org/master/#/builders/42/builds/322 & https://buildbot.halide-lang.org/master/#/builders/6/builds/317. Former is a cmake run that seems to test apps while the latter is a make based build that runs correctness tests (host only)
Am I missing something?
steven-johnson
@steven-johnson:matrix.org
[m]
We only use CTest for CMake builds; the latter is a Make-based build
I strongly recommend you avoid using the Make-based builds for, well, anything
They are not reliably maintained properly, but we cannot remove them at this point
Zalman Stern
@zvookin
Make builds are used for certain development purposes.
Because they work where cmake does not
Pranav Bhandarkar
@pranavb-ca
Thanks guys. yes, we are moving away from make builds and we are updating our internal CI to start using cmake. Is there a way I can run only the correctness tests using ctest? I haven't used ctest much before and I am looking through the help right now to figure out how I can make it run tests only in test/correctness as part of a bot that does smoke tests for us (internally).
steven-johnson
@steven-johnson:matrix.org
[m]
ctest -L correctness will do the trickl
Pranav Bhandarkar
@pranavb-ca
Thank you!