[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-nvidia-udf-judge-conversion":3,"mdc--zgitwi-key":38,"related-repo-nvidia-udf-judge-conversion":485,"related-org-nvidia-udf-judge-conversion":572},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":33,"sourceUrl":36,"mdContent":37},"udf-judge-conversion","review UDF tests and GPU implementations","Reviews generated UDF tests and GPU\u002FSQL implementations for robustness, anti-cheating, and GPU execution integrity. Use when the user requests a judge\u002Freview-agent pass, or when manually reviewing a completed conversion.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"nvidia","NVIDIA","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fnvidia.png",[12,16,19,20],{"name":13,"slug":14,"type":15},"Code Review","code-review","tag",{"name":17,"slug":18,"type":15},"QA","qa",{"name":9,"slug":8,"type":15},{"name":21,"slug":22,"type":15},"Engineering","engineering",987,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fcudf-spark","2026-07-14T05:30:59.022808","CC-BY-4.0 AND Apache-2.0",289,[29,30,31,32],"big-data","gpu","rapids","spark",{"repoUrl":24,"stars":23,"forks":27,"topics":34,"description":35},[29,30,31,32],"Spark RAPIDS plugin - accelerate Apache Spark with GPUs","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fcudf-spark\u002Ftree\u002FHEAD\u002Fskills\u002Fudf-judge-conversion","---\nname: udf-judge-conversion\ndescription: Reviews generated UDF tests and GPU\u002FSQL implementations for robustness, anti-cheating, and GPU execution integrity. Use when the user requests a judge\u002Freview-agent pass, or when manually reviewing a completed conversion.\nlicense: CC-BY-4.0 AND Apache-2.0\nmetadata:\n  spdx-file-copyright-text: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\nmodel: inherit\n---\n\n# Judge UDF Conversion\n\n## Purpose\n\nReview a completed UDF conversion and its tests as a skeptical QA\u002Fcode-review subagent.\nYour job is to review whether the GPU\u002FSQL implementation is a properly validated functional replacement for the CPU UDF.\n\n## Inputs\n\nReview the files that exist in the generated project:\n- CPU UDF source under `src\u002Fmain\u002F\u003Cjava|scala>\u002Fcom\u002Fudf\u002F`\n- `src\u002Ftest\u002Fscala\u002Fcom\u002Fudf\u002FUnitTest.scala`\n- `src\u002Ftest\u002Fscala\u002Fcom\u002Fudf\u002FCudfComparisonTest.scala` or `SqlComparisonTest.scala`\n- GPU\u002FSQL implementation files\n- coverage reports, test output, or comments documenting accepted discrepancies if present\n\n## Workflow\n\n- [ ] Step 1: Read the unit test and comparison test.\n- [ ] Step 2: Judge whether the tests are strong enough to specify CPU behavior.\n- [ ] Step 3: Judge whether the implementation cheats or silently falls back to CPU logic.\n- [ ] Step 4: Report actionable findings.\n\n## Unit Test Checks\n\nThe unit test should be a strong specification of the CPU UDF behavior over its documented input domain.\n\nCheck that:\n- Test data covers applicable edge cases such as nulls, empty values, malformed inputs, boundaries, duplicates, mixed valid\u002Finvalid rows, nested empties\u002Fnulls, unicode, timestamps\u002Ftimezones, and decimal scale.\n- Assertions verify schema, row count, deterministic ordering, output values, null propagation, and exception\u002Fdefault behavior where applicable.\n- The test exercises visible CPU UDF branches. Coverage reports should support this when available.\n- Assertions reflect the CPU UDF's actual behavior and do not merely assert weak properties such as non-null output.\n- Extra unit tests outside the shared `assertUDFResults` path are mirrored in the comparison test and run against both CPU and GPU\u002FSQL paths.\n\n## Comparison Test Checks\n\nThe comparison test should provide strong evidence that the converted implementation preserves the CPU UDF behavior.\n\nCheck that:\n- The CPU path and GPU\u002FSQL path run on the same input data.\n- The CPU result and GPU\u002FSQL result are compared directly.\n- The comparison test actually runs on the GPU with the Spark RAPIDS plugin enabled.\n- The converted path is also validated with the same result assertions used for the CPU path.\n- Additional unit test cases are converted into CPU-vs-GPU\u002FSQL comparison cases, not left as CPU-only tests.\n- Commented-out tests or assertions include a clear explanation and a user-facing note. Documented deviations are acceptable only if the reason is explicit.\n    - Note: you should not accept a documented deviation that removes coverage of the UDF's core logic.\n\n## Implementation Checks\n\nFail the review if the implementation is tailored to the tests instead of implementing the UDF generally. Look for:\n- Hardcoded test inputs, IDs, row counts, or expected outputs.\n- Conditional branches that only handle exact values from the tests.\n- Literal lookup tables derived from test data.\n\nFail the review if the implementation silently performs logic row-by-row on the CPU. Look for:\n- `copyToHost()`, `cudaMemcpyDeviceToHost`, or row-by-row scalar copies such as `getJavaString` to copy input data to the CPU.\n    - Note: small CPU objects for metadata or temporary storage are acceptable.\n\nIf a GPU API's behavior is unclear, inspect the implementation or docs for the SQL\u002FcuDF\u002Flibcudf\u002Fthrust APIs invoked by the UDF. Clone the matching source if needed to understand subtle null, type, boundary, or semantic behavior under the hood.\n\n## Output\n\nStart with a clear verdict:\n- `PASS`: no blocking issues found\n- `FAIL`: one or more blocking issues found\n\n### Verdict Examples\n\n`PASS`: The unit test covers normal inputs plus meaningful edge cases, coverage gaps are explained, the comparison test runs the same cases through CPU and GPU\u002FSQL paths, the implementation is general, and there are no hidden CPU fallbacks or test-derived literals.\n\n`PASS with non-blocking risks`: One malformed-input assertion is commented out because the CPU throws a row-level exception while the GPU path returns null for that row, and comments explain the attempted fixes and why the behavior is outside the supported GPU contract. The normal input domain and core UDF logic are still fully tested.\n\n`FAIL`: A test for the primary transformation is commented out, most assertions only check row counts or non-null output, or the comparison test leaves extra CPU-only unit tests unmatched. These failures weaken confidence even if comments are present.\n\n`FAIL`: The implementation contains test-specific literals, dispatches on exact test rows, calls the CPU UDF from the GPU\u002FSQL path, or copies column data to the host to perform normal business logic.\n\nFor failures, concisely list specific findings with:\n- file\u002Fpath\n- issue\n- why it matters\n- suggested fix\n\nAlso include any non-blocking risks or test gaps separately.\n",{"data":39,"body":43},{"name":4,"description":6,"license":26,"metadata":40,"model":42},{"spdx-file-copyright-text":41},"Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.","inherit",{"type":44,"children":45},"root",[46,55,62,68,74,79,132,138,183,189,194,199,235,241,246,250,291,297,302,320,325,363,368,374,379,404,411,421,432,442,452,457,480],{"type":47,"tag":48,"props":49,"children":51},"element","h1",{"id":50},"judge-udf-conversion",[52],{"type":53,"value":54},"text","Judge UDF Conversion",{"type":47,"tag":56,"props":57,"children":59},"h2",{"id":58},"purpose",[60],{"type":53,"value":61},"Purpose",{"type":47,"tag":63,"props":64,"children":65},"p",{},[66],{"type":53,"value":67},"Review a completed UDF conversion and its tests as a skeptical QA\u002Fcode-review subagent.\nYour job is to review whether the GPU\u002FSQL implementation is a properly validated functional replacement for the CPU UDF.",{"type":47,"tag":56,"props":69,"children":71},{"id":70},"inputs",[72],{"type":53,"value":73},"Inputs",{"type":47,"tag":63,"props":75,"children":76},{},[77],{"type":53,"value":78},"Review the files that exist in the generated project:",{"type":47,"tag":80,"props":81,"children":82},"ul",{},[83,96,105,122,127],{"type":47,"tag":84,"props":85,"children":86},"li",{},[87,89],{"type":53,"value":88},"CPU UDF source under ",{"type":47,"tag":90,"props":91,"children":93},"code",{"className":92},[],[94],{"type":53,"value":95},"src\u002Fmain\u002F\u003Cjava|scala>\u002Fcom\u002Fudf\u002F",{"type":47,"tag":84,"props":97,"children":98},{},[99],{"type":47,"tag":90,"props":100,"children":102},{"className":101},[],[103],{"type":53,"value":104},"src\u002Ftest\u002Fscala\u002Fcom\u002Fudf\u002FUnitTest.scala",{"type":47,"tag":84,"props":106,"children":107},{},[108,114,116],{"type":47,"tag":90,"props":109,"children":111},{"className":110},[],[112],{"type":53,"value":113},"src\u002Ftest\u002Fscala\u002Fcom\u002Fudf\u002FCudfComparisonTest.scala",{"type":53,"value":115}," or ",{"type":47,"tag":90,"props":117,"children":119},{"className":118},[],[120],{"type":53,"value":121},"SqlComparisonTest.scala",{"type":47,"tag":84,"props":123,"children":124},{},[125],{"type":53,"value":126},"GPU\u002FSQL implementation files",{"type":47,"tag":84,"props":128,"children":129},{},[130],{"type":53,"value":131},"coverage reports, test output, or comments documenting accepted discrepancies if present",{"type":47,"tag":56,"props":133,"children":135},{"id":134},"workflow",[136],{"type":53,"value":137},"Workflow",{"type":47,"tag":80,"props":139,"children":142},{"className":140},[141],"contains-task-list",[143,156,165,174],{"type":47,"tag":84,"props":144,"children":147},{"className":145},[146],"task-list-item",[148,154],{"type":47,"tag":149,"props":150,"children":153},"input",{"disabled":151,"type":152},true,"checkbox",[],{"type":53,"value":155}," Step 1: Read the unit test and comparison test.",{"type":47,"tag":84,"props":157,"children":159},{"className":158},[146],[160,163],{"type":47,"tag":149,"props":161,"children":162},{"disabled":151,"type":152},[],{"type":53,"value":164}," Step 2: Judge whether the tests are strong enough to specify CPU behavior.",{"type":47,"tag":84,"props":166,"children":168},{"className":167},[146],[169,172],{"type":47,"tag":149,"props":170,"children":171},{"disabled":151,"type":152},[],{"type":53,"value":173}," Step 3: Judge whether the implementation cheats or silently falls back to CPU logic.",{"type":47,"tag":84,"props":175,"children":177},{"className":176},[146],[178,181],{"type":47,"tag":149,"props":179,"children":180},{"disabled":151,"type":152},[],{"type":53,"value":182}," Step 4: Report actionable findings.",{"type":47,"tag":56,"props":184,"children":186},{"id":185},"unit-test-checks",[187],{"type":53,"value":188},"Unit Test Checks",{"type":47,"tag":63,"props":190,"children":191},{},[192],{"type":53,"value":193},"The unit test should be a strong specification of the CPU UDF behavior over its documented input domain.",{"type":47,"tag":63,"props":195,"children":196},{},[197],{"type":53,"value":198},"Check that:",{"type":47,"tag":80,"props":200,"children":201},{},[202,207,212,217,222],{"type":47,"tag":84,"props":203,"children":204},{},[205],{"type":53,"value":206},"Test data covers applicable edge cases such as nulls, empty values, malformed inputs, boundaries, duplicates, mixed valid\u002Finvalid rows, nested empties\u002Fnulls, unicode, timestamps\u002Ftimezones, and decimal scale.",{"type":47,"tag":84,"props":208,"children":209},{},[210],{"type":53,"value":211},"Assertions verify schema, row count, deterministic ordering, output values, null propagation, and exception\u002Fdefault behavior where applicable.",{"type":47,"tag":84,"props":213,"children":214},{},[215],{"type":53,"value":216},"The test exercises visible CPU UDF branches. Coverage reports should support this when available.",{"type":47,"tag":84,"props":218,"children":219},{},[220],{"type":53,"value":221},"Assertions reflect the CPU UDF's actual behavior and do not merely assert weak properties such as non-null output.",{"type":47,"tag":84,"props":223,"children":224},{},[225,227,233],{"type":53,"value":226},"Extra unit tests outside the shared ",{"type":47,"tag":90,"props":228,"children":230},{"className":229},[],[231],{"type":53,"value":232},"assertUDFResults",{"type":53,"value":234}," path are mirrored in the comparison test and run against both CPU and GPU\u002FSQL paths.",{"type":47,"tag":56,"props":236,"children":238},{"id":237},"comparison-test-checks",[239],{"type":53,"value":240},"Comparison Test Checks",{"type":47,"tag":63,"props":242,"children":243},{},[244],{"type":53,"value":245},"The comparison test should provide strong evidence that the converted implementation preserves the CPU UDF behavior.",{"type":47,"tag":63,"props":247,"children":248},{},[249],{"type":53,"value":198},{"type":47,"tag":80,"props":251,"children":252},{},[253,258,263,268,273,278],{"type":47,"tag":84,"props":254,"children":255},{},[256],{"type":53,"value":257},"The CPU path and GPU\u002FSQL path run on the same input data.",{"type":47,"tag":84,"props":259,"children":260},{},[261],{"type":53,"value":262},"The CPU result and GPU\u002FSQL result are compared directly.",{"type":47,"tag":84,"props":264,"children":265},{},[266],{"type":53,"value":267},"The comparison test actually runs on the GPU with the Spark RAPIDS plugin enabled.",{"type":47,"tag":84,"props":269,"children":270},{},[271],{"type":53,"value":272},"The converted path is also validated with the same result assertions used for the CPU path.",{"type":47,"tag":84,"props":274,"children":275},{},[276],{"type":53,"value":277},"Additional unit test cases are converted into CPU-vs-GPU\u002FSQL comparison cases, not left as CPU-only tests.",{"type":47,"tag":84,"props":279,"children":280},{},[281,283],{"type":53,"value":282},"Commented-out tests or assertions include a clear explanation and a user-facing note. Documented deviations are acceptable only if the reason is explicit.\n",{"type":47,"tag":80,"props":284,"children":285},{},[286],{"type":47,"tag":84,"props":287,"children":288},{},[289],{"type":53,"value":290},"Note: you should not accept a documented deviation that removes coverage of the UDF's core logic.",{"type":47,"tag":56,"props":292,"children":294},{"id":293},"implementation-checks",[295],{"type":53,"value":296},"Implementation Checks",{"type":47,"tag":63,"props":298,"children":299},{},[300],{"type":53,"value":301},"Fail the review if the implementation is tailored to the tests instead of implementing the UDF generally. Look for:",{"type":47,"tag":80,"props":303,"children":304},{},[305,310,315],{"type":47,"tag":84,"props":306,"children":307},{},[308],{"type":53,"value":309},"Hardcoded test inputs, IDs, row counts, or expected outputs.",{"type":47,"tag":84,"props":311,"children":312},{},[313],{"type":53,"value":314},"Conditional branches that only handle exact values from the tests.",{"type":47,"tag":84,"props":316,"children":317},{},[318],{"type":53,"value":319},"Literal lookup tables derived from test data.",{"type":47,"tag":63,"props":321,"children":322},{},[323],{"type":53,"value":324},"Fail the review if the implementation silently performs logic row-by-row on the CPU. Look for:",{"type":47,"tag":80,"props":326,"children":327},{},[328],{"type":47,"tag":84,"props":329,"children":330},{},[331,337,339,345,347,353,355],{"type":47,"tag":90,"props":332,"children":334},{"className":333},[],[335],{"type":53,"value":336},"copyToHost()",{"type":53,"value":338},", ",{"type":47,"tag":90,"props":340,"children":342},{"className":341},[],[343],{"type":53,"value":344},"cudaMemcpyDeviceToHost",{"type":53,"value":346},", or row-by-row scalar copies such as ",{"type":47,"tag":90,"props":348,"children":350},{"className":349},[],[351],{"type":53,"value":352},"getJavaString",{"type":53,"value":354}," to copy input data to the CPU.\n",{"type":47,"tag":80,"props":356,"children":357},{},[358],{"type":47,"tag":84,"props":359,"children":360},{},[361],{"type":53,"value":362},"Note: small CPU objects for metadata or temporary storage are acceptable.",{"type":47,"tag":63,"props":364,"children":365},{},[366],{"type":53,"value":367},"If a GPU API's behavior is unclear, inspect the implementation or docs for the SQL\u002FcuDF\u002Flibcudf\u002Fthrust APIs invoked by the UDF. Clone the matching source if needed to understand subtle null, type, boundary, or semantic behavior under the hood.",{"type":47,"tag":56,"props":369,"children":371},{"id":370},"output",[372],{"type":53,"value":373},"Output",{"type":47,"tag":63,"props":375,"children":376},{},[377],{"type":53,"value":378},"Start with a clear verdict:",{"type":47,"tag":80,"props":380,"children":381},{},[382,393],{"type":47,"tag":84,"props":383,"children":384},{},[385,391],{"type":47,"tag":90,"props":386,"children":388},{"className":387},[],[389],{"type":53,"value":390},"PASS",{"type":53,"value":392},": no blocking issues found",{"type":47,"tag":84,"props":394,"children":395},{},[396,402],{"type":47,"tag":90,"props":397,"children":399},{"className":398},[],[400],{"type":53,"value":401},"FAIL",{"type":53,"value":403},": one or more blocking issues found",{"type":47,"tag":405,"props":406,"children":408},"h3",{"id":407},"verdict-examples",[409],{"type":53,"value":410},"Verdict Examples",{"type":47,"tag":63,"props":412,"children":413},{},[414,419],{"type":47,"tag":90,"props":415,"children":417},{"className":416},[],[418],{"type":53,"value":390},{"type":53,"value":420},": The unit test covers normal inputs plus meaningful edge cases, coverage gaps are explained, the comparison test runs the same cases through CPU and GPU\u002FSQL paths, the implementation is general, and there are no hidden CPU fallbacks or test-derived literals.",{"type":47,"tag":63,"props":422,"children":423},{},[424,430],{"type":47,"tag":90,"props":425,"children":427},{"className":426},[],[428],{"type":53,"value":429},"PASS with non-blocking risks",{"type":53,"value":431},": One malformed-input assertion is commented out because the CPU throws a row-level exception while the GPU path returns null for that row, and comments explain the attempted fixes and why the behavior is outside the supported GPU contract. The normal input domain and core UDF logic are still fully tested.",{"type":47,"tag":63,"props":433,"children":434},{},[435,440],{"type":47,"tag":90,"props":436,"children":438},{"className":437},[],[439],{"type":53,"value":401},{"type":53,"value":441},": A test for the primary transformation is commented out, most assertions only check row counts or non-null output, or the comparison test leaves extra CPU-only unit tests unmatched. These failures weaken confidence even if comments are present.",{"type":47,"tag":63,"props":443,"children":444},{},[445,450],{"type":47,"tag":90,"props":446,"children":448},{"className":447},[],[449],{"type":53,"value":401},{"type":53,"value":451},": The implementation contains test-specific literals, dispatches on exact test rows, calls the CPU UDF from the GPU\u002FSQL path, or copies column data to the host to perform normal business logic.",{"type":47,"tag":63,"props":453,"children":454},{},[455],{"type":53,"value":456},"For failures, concisely list specific findings with:",{"type":47,"tag":80,"props":458,"children":459},{},[460,465,470,475],{"type":47,"tag":84,"props":461,"children":462},{},[463],{"type":53,"value":464},"file\u002Fpath",{"type":47,"tag":84,"props":466,"children":467},{},[468],{"type":53,"value":469},"issue",{"type":47,"tag":84,"props":471,"children":472},{},[473],{"type":53,"value":474},"why it matters",{"type":47,"tag":84,"props":476,"children":477},{},[478],{"type":53,"value":479},"suggested fix",{"type":47,"tag":63,"props":481,"children":482},{},[483],{"type":53,"value":484},"Also include any non-blocking risks or test gaps separately.",{"items":486,"total":571},[487,503,516,527,540,553,560],{"slug":488,"name":488,"fn":489,"description":490,"org":491,"tags":492,"stars":23,"repoUrl":24,"updatedAt":502},"udf-benchmark","benchmark Spark UDF performance on GPU","Assists with benchmarking and profiling the performance of an Apache Spark UDF on the GPU. This is step 3 of 3 in the UDF conversion workflow (udf-gen-test -> udf-convert-to-* -> udf-benchmark). Use this skill when you have a CPU UDF and a RapidsUDF or SQL implementation, and need to benchmark the performance of the CPU UDF against the GPU implementation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[493,496,497,500],{"name":494,"slug":495,"type":15},"Benchmarking","benchmarking",{"name":9,"slug":8,"type":15},{"name":498,"slug":499,"type":15},"Performance","performance",{"name":501,"slug":32,"type":15},"Spark","2026-07-14T05:30:56.546112",{"slug":504,"name":504,"fn":505,"description":506,"org":507,"tags":508,"stars":23,"repoUrl":24,"updatedAt":515},"udf-convert-to-cuda","convert Spark UDFs to CUDA RapidsUDFs","Assists with converting a non-aggregating Apache Spark UDF to a native CUDA RapidsUDF using JNI and libcudf. This is step 2 of 3 in the UDF conversion workflow (udf-gen-test -> udf-convert-to-cuda -> udf-benchmark). Use this skill when you have a CPU UDF with a unit test and need to convert it to a native CUDA implementation. Prefer udf-convert-to-cudf unless a CUDA implementation is necessary for performance or correctness, or if requested by the user.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[509,510,513,514],{"name":21,"slug":22,"type":15},{"name":511,"slug":512,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":501,"slug":32,"type":15},"2026-07-14T05:30:51.534401",{"slug":517,"name":517,"fn":518,"description":519,"org":520,"tags":521,"stars":23,"repoUrl":24,"updatedAt":526},"udf-convert-to-cudf","convert Spark UDFs to GPU-accelerated RapidsUDFs","Assists with converting an Apache Spark UDF to a GPU-accelerated RapidsUDF using cuDF Java APIs. This is step 2 of 3 in the UDF conversion workflow (udf-gen-test -> udf-convert-to-cudf -> udf-benchmark). Use this skill when you have a CPU UDF with a unit test and need to convert it to a RapidsUDF.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[522,523,524,525],{"name":21,"slug":22,"type":15},{"name":511,"slug":512,"type":15},{"name":9,"slug":8,"type":15},{"name":501,"slug":32,"type":15},"2026-07-14T05:30:54.048693",{"slug":528,"name":528,"fn":529,"description":530,"org":531,"tags":532,"stars":23,"repoUrl":24,"updatedAt":539},"udf-convert-to-sql","convert Spark UDFs to SQL expressions","Assists with converting an Apache Spark UDF to a functionally equivalent Spark SQL expression. This is step 2 of 3 in the UDF conversion workflow (udf-gen-test -> udf-convert-to-sql -> udf-benchmark). Use this skill when you have a CPU UDF with a unit test and need to convert it to SQL for GPU acceleration.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[533,534,535,536],{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":501,"slug":32,"type":15},{"name":537,"slug":538,"type":15},"SQL","sql","2026-07-14T05:30:57.785224",{"slug":541,"name":541,"fn":542,"description":543,"org":544,"tags":545,"stars":23,"repoUrl":24,"updatedAt":552},"udf-gen-test","generate unit tests for Spark UDFs","Assists with generating a unit test for an Apache Spark UDF. This is step 1 of 3 in the UDF conversion workflow (udf-gen-test -> udf-convert-to-* -> udf-benchmark). Use this skill when you have a CPU UDF and need to create a unit test for the UDF before converting it into a GPU-compatible implementation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[546,547,548,549],{"name":511,"slug":512,"type":15},{"name":9,"slug":8,"type":15},{"name":501,"slug":32,"type":15},{"name":550,"slug":551,"type":15},"Testing","testing","2026-07-14T05:30:55.30163",{"slug":4,"name":4,"fn":5,"description":6,"org":554,"tags":555,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[556,557,558,559],{"name":13,"slug":14,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},{"slug":561,"name":561,"fn":562,"description":563,"org":564,"tags":565,"stars":23,"repoUrl":24,"updatedAt":570},"udf-optimize-cudf","optimize cuDF RapidsUDF performance","Iteratively optimizes a cuDF RapidsUDF implementation for GPU performance. Use after testing and benchmarking with udf-benchmark. Runs a loop of profiling, optimizing, testing, and benchmarking until performance converges or the iteration budget is exhausted.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[566,567,568,569],{"name":494,"slug":495,"type":15},{"name":21,"slug":22,"type":15},{"name":9,"slug":8,"type":15},{"name":498,"slug":499,"type":15},"2026-07-14T05:30:52.785634",7,{"items":573,"total":726},[574,592,610,621,633,647,660,674,683,694,706,715],{"slug":575,"name":575,"fn":576,"description":577,"org":578,"tags":579,"stars":589,"repoUrl":590,"updatedAt":591},"nemoclaw-user-guide","retrieve NemoClaw documentation and configuration","Guides human users' AI agents to the NemoClaw docs MCP server and canonical Fern documentation in Markdown form. Use when users ask how to install, configure, operate, troubleshoot, secure, or learn NemoClaw with an AI coding assistant. Trigger keywords - nemoclaw docs, use nemoclaw with ai agent, nemoclaw mcp docs, nemoclaw install help, nemoclaw quickstart, nemoclaw markdown docs, llms.txt, agent skills.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[580,583,586],{"name":581,"slug":582,"type":15},"Documentation","documentation",{"name":584,"slug":585,"type":15},"MCP","mcp",{"name":587,"slug":588,"type":15},"Search","search",21777,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FNemoClaw","2026-07-20T06:00:01.461044",{"slug":593,"name":593,"fn":594,"description":595,"org":596,"tags":597,"stars":607,"repoUrl":608,"updatedAt":609},"mcore-build-and-dependency","manage Megatron-LM development environments","Container-based dev environment setup and dependency management for Megatron-LM. Covers acquiring and launching the CI container, uv package management, and updating uv.lock.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[598,601,604],{"name":599,"slug":600,"type":15},"Containers","containers",{"name":602,"slug":603,"type":15},"Deployment","deployment",{"name":605,"slug":606,"type":15},"Python","python",17049,"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002FMegatron-LM","2026-07-27T06:06:11.249662",{"slug":611,"name":611,"fn":612,"description":613,"org":614,"tags":615,"stars":607,"repoUrl":608,"updatedAt":620},"mcore-bump-base-image","update NVIDIA PyTorch base images","Bump the NVIDIA PyTorch base image (`nvcr.io\u002Fnvidia\u002Fpytorch:YY.MM-py3`) used by Megatron-LM CI. Covers the two pin sites (GitHub CI in `docker\u002F.ngc_version.dev` and GitLab CI in `.gitlab\u002Fstages\u002F01.build.yml`), the post-bump CI loop (re-run functional tests, refresh golden values, mark broken tests), and the gotchas that bit PRs",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[616,619],{"name":617,"slug":618,"type":15},"CI\u002FCD","ci-cd",{"name":602,"slug":603,"type":15},"2026-07-14T05:25:59.97109",{"slug":622,"name":622,"fn":623,"description":624,"org":625,"tags":626,"stars":607,"repoUrl":608,"updatedAt":632},"mcore-cicd","manage CI\u002FCD pipelines for Megatron-LM","CI\u002FCD reference for Megatron-LM. Covers CI pipeline structure, PR scope labels, triggering internal GitLab CI (which force-pushes the current branch to a pull-request\u002FBRANCH ref — always dry-run and verify the destination first; never run against shared or protected branches), and CI failure investigation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[627,628,629],{"name":617,"slug":618,"type":15},{"name":602,"slug":603,"type":15},{"name":630,"slug":631,"type":15},"GitHub","github","2026-07-27T06:06:12.278222",{"slug":634,"name":634,"fn":635,"description":636,"org":637,"tags":638,"stars":607,"repoUrl":608,"updatedAt":646},"mcore-create-issue","investigate CI failures and create issues","Investigate a failing GitHub Actions run or job and create a GitHub issue for the failure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[639,642,643],{"name":640,"slug":641,"type":15},"Debugging","debugging",{"name":630,"slug":631,"type":15},{"name":644,"slug":645,"type":15},"Triage","triage","2026-07-14T05:25:57.442089",{"slug":648,"name":648,"fn":649,"description":650,"org":651,"tags":652,"stars":607,"repoUrl":608,"updatedAt":659},"mcore-linting-and-formatting","lint and format Megatron-LM code","Linting and formatting for Megatron-LM. Covers running autoformat.sh, tools (ruff, black, isort, pylint, mypy), and code style rules.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[653,656],{"name":654,"slug":655,"type":15},"Best Practices","best-practices",{"name":657,"slug":658,"type":15},"Code Analysis","code-analysis","2026-07-14T05:25:56.18433",{"slug":661,"name":661,"fn":662,"description":663,"org":664,"tags":665,"stars":607,"repoUrl":608,"updatedAt":673},"mcore-migrate-gpt-to-hybrid","migrate Megatron-LM models to HybridModel","Migration guide for moving Megatron Core GPTModel checkpoints, model providers, training commands, and layer mappings to HybridModel.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[666,669,672],{"name":667,"slug":668,"type":15},"Machine Learning","machine-learning",{"name":670,"slug":671,"type":15},"Migration","migration",{"name":9,"slug":8,"type":15},"2026-07-17T06:07:11.777011",{"slug":675,"name":675,"fn":676,"description":677,"org":678,"tags":679,"stars":607,"repoUrl":608,"updatedAt":682},"mcore-onboard-gb200-1node-tests","onboard functional tests for GB200","Onboard 1-node GitHub MR functional tests for GB200 from existing mr-scoped 2-node tests.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[680,681],{"name":17,"slug":18,"type":15},{"name":550,"slug":551,"type":15},"2026-07-14T05:25:53.673039",{"slug":684,"name":684,"fn":685,"description":686,"org":687,"tags":688,"stars":607,"repoUrl":608,"updatedAt":693},"mcore-run-on-slurm","launch distributed training jobs on SLURM","How to launch distributed Megatron-LM training jobs on a SLURM cluster. Covers a minimal sbatch skeleton, environment-variable setup for torch.distributed.run, CUDA_DEVICE_MAX_CONNECTIONS rules across hardware and parallelism modes, container conventions, monitoring, and per-rank failure diagnosis.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[689,690],{"name":602,"slug":603,"type":15},{"name":691,"slug":692,"type":15},"Infrastructure","infrastructure","2026-07-14T05:25:49.362534",{"slug":695,"name":695,"fn":696,"description":697,"org":698,"tags":699,"stars":607,"repoUrl":608,"updatedAt":705},"mcore-split-pr","split pull requests to reduce review load","Split a PR into multiple PRs to reduce the number of required CODEOWNERS reviewer groups.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[700,701,702],{"name":13,"slug":14,"type":15},{"name":630,"slug":631,"type":15},{"name":703,"slug":704,"type":15},"Pull Requests","pull-requests","2026-07-14T05:26:01.226578",{"slug":707,"name":707,"fn":708,"description":709,"org":710,"tags":711,"stars":607,"repoUrl":608,"updatedAt":714},"mcore-testing","run and manage Megatron-LM tests","Test system for Megatron-LM. Covers test layout, recipe YAML structure, adding and running unit and functional tests, golden values, marker filters, and CI parity.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[712,713],{"name":17,"slug":18,"type":15},{"name":550,"slug":551,"type":15},"2026-07-14T05:25:54.928983",{"slug":716,"name":716,"fn":717,"description":718,"org":719,"tags":720,"stars":607,"repoUrl":608,"updatedAt":725},"nightly-sync","manage nightly main-to-dev sync workflows","Domain knowledge for the nightly main-to-dev sync workflow. Covers merge strategy, CI architecture, failure investigation, and known issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[721,724],{"name":722,"slug":723,"type":15},"Automation","automation",{"name":617,"slug":618,"type":15},"2026-07-30T05:29:03.275638",496]