Daisytuner logo

    The GitHub for performance engineering.

    Daisytuner

    Tech & Engineering
    How it worksPerformance DatabaseThe GitHub for performance engineering.

    We reinvented performance engineering, scalable for everyone. Every new model feature or chip you adopt breaks yesterday's optimizations, so keeping your software fast means redoing the same work by hand, over and over. We make it automatic, so your performance never falls behind.

    Cloud ConsoleTalk to an EngineerContinuous benchmarkingWeb IDEPerformance Database Continuous benchmarkingMeasure performance on every commit.

    Every push carries your workloads straight from GitHub into the performance dashboard of our Cloud Console. We run them on real hardware, surface the hotspots, and place each part of your code on the roofline of the hardware, so you see where time goes and what limits it.

    daisytuner/modelsmain · 6d6dbefPerformance dashboard2 workloads · todayLivepytorch_models2 workloadsresnet184 variantsVariantRegionsRuntimeSpeedupΔ Basetorch—78.0 ms+3.0%torch-cuda—17.9 ms−7.5%docc-cuda93 regions11.2 ms1.60×+0.0%docc-omp45 regions41.5 ms1.88×−1.8%segformer2 variantsVariantRegionsRuntimeSpeedupΔ Basetorch-cuda—36.4 ms−3.4%docc-cuda266 regions21.7 ms1.68×+0.6%Roofline · segformer::docc-cudadraml2l1 From the DashboardHot region found on the roofline → opened in the EditorThe editorPerformance optimizations, reviewed like code.

    Our compiler, docc, represents every code as a dataflow IR that makes data movement, parallelism and computation explicit. In the web IDE of our Cloud Console you compose optimization recipes yourself. The compiler checks each recipe for legality, and you're ready to open the result as a pull request.

    Dataflow IRProvably legal transformationsChecks on real hardwareCloud Console · Pull requests

    [segformer] fused gemm and div

    MergedServerCUDA__docc_GraphModule:2398 · 4 loops · 3 maps · depth 4‹ PrevNext ›Initial SDFG · 5 stepsmap [SEQUENTIAL]: _b41 = 0; (_b41 < 16); _b41++map [SEQUENTIAL]: _j55 = 0; (_j55 < 160); _j55++map [SEQUENTIAL]: _i1857 = 0; (_i1857 < 256); _i1857++for: _k93 = 0; (_k93 < 160); _k93++_copy13_out = _a * _b + _c_sum55_sum55_out = _in_tmp31_tmp31_out = _a / _b_copy2RecipeChecks
    1. 1LoopInterchange#34792 (map), #48991 (map)
    2. 2LoopInterchange#49738 (map), #48993 (map)
    3. 3CUDATransformblock_size=32#49736 (map)
    4. 4CUDAParallelizeNestedMapblock_size=8#49740 (map)
    5. 5CUDAParallelizeNestedMapblock_size=4#49742 (map)
    On merge, the recipe is added to the Performance Database and transferred to similar kernels. From the EditorPull request merged → recipe indexed as a performance embeddingThe databaseA live database, queried by docc.

    Your performance database stores every optimization recipe, and docc matches them against your code automatically during compilation. Purpose-built performance embeddings find similar regions and the ideal optimization for yours. A RAG method for compilers.

    Published75Tuned57Failed38Not yet tuned104Illustrative data · t-SNE of performance embeddingsEmbedding mapPinned kernelPublishedkernelsegformer.fused_gemm_divsourcepull request · mergedtargetCUDAscheduleinterchange ×2 · CUDA(32) · nested(8, 4)legalitypolyhedral · provenspeedup2.14×gap to I/O bound9%neighbours3 · transfer-tunableKernels274in viewTuned48%of kernels in viewAvg speedup2.01×tuned in viewTargets4in view From the DatabaseNearest neighbours retrieved → handed to the agents as a starting pointThe agentsAgents feed your database, day and night.

    Let our agents tune your code for you. They search for optimizations around the clock, propose recipes, and the compiler proves each one correct before it joins the database. Every proven recipe makes the next search faster, so the database keeps improving on its own.

    Fully automated searchEvery recipe proven correctImproving 24/7RecipesAgents36RunsPull requestsSettingsRecipe lifecycle7d30d90dPublished 512Tuned 300Failed 64Empty 3,453Dead 21Transitions · last 90 days · 1,480 events275 tasks in queue · 36 agents workingStatusRegionTargetSpeedupUpdatedRunningattention.softmax_matmulServerCUDA2.6×2m agoRunninggemm.bf16ServerRocm1.9×5m agoPendinglayernorm.fusedServerOpenMP—12m agoMergedconv2d.3x3ServerSequential1.4×31m ago Compiler theoryMachine learningUnder the hoodPerformanceOptimization forthe Age of AI.
    Apply at Daisytuner

    This role is listed because Daisytuner is part of the Ignite Next portfolio. Applications are handled by Daisytuner directly — Ignite Next does not receive your application, screen candidates or act as a recruiter.

    Similar roles in the portfolio

    Browse all open roles

    Sign Up for Our Newsletter

    By subscribing, you agree to our Privacy Policy. Unsubscribe anytime.