3 ms·
AI can help with documentation. Simple tool can annotate all files and function using ChatGPP4 in few hours, then check it for correctness and completeness, the
by oneshtein 3y ago
AI can help with documentation. Simple tool can annotate all files and function using ChatGPP4 in few hours, then check it for correctness and completeness, then fix bugs, for few hundred dollars.
- Diti 3y agoThat wouldn’t help with the issues described in the article, I think. That is, license violations (LLMs happen to produce almost-verbatim copies of copyrighted works at times) and lack of volunteers (you’d need to hire a technical writer to ensure the generated documentation is actually correct and complete, and nobody is going to want to accept being hired for cheap for fixing AI-generated documentation).
- oneshtein 3y agoI just checked it with Bard: Me: Annotate main scheduler in linux kernel version 6 for interactive workload on multiple cores. Bard: I'm unable to directly annotate kernel code, but I can provide a detailed explanation of the main scheduler's components and mechanisms for interactive workloads on multiple cores in Linux kernel version 6, incorporating images where appropriate: Key Components: Completely Fair Scheduler (CFS): Primary scheduling class for interactive tasks Aims for fairness and responsiveness Employs a red-black tree (image below) to organize processes based on their virtual runtime (vruntime) Processes with lower vruntime are given priority Зображення: redblack tree data structureВідкриється в новому вікні www.eecs.umich.edu redblack tree data structure Per-CPU runqueues: Each CPU core maintains its own runqueue Stores processes ready to run on that core Reduces contention and improves cache locality Load balancing: Mechanisms to distribute processes across cores for optimal performance Triggered when a core becomes idle or imbalanced Migrates processes from overloaded cores to underloaded ones Scheduling Process: Process Creation: New processes are assigned to a suitable scheduling class (CFS for interactive) Added to a runqueue, initially on the core where they were created Process Wakeup: When a process becomes ready to run: Added to the runqueue of the core where it last ran or a suitable core (load balancing) Process Selection: CFS periodically selects a process from the runqueue Chooses the one with the lowest vruntime (most deprived of CPU time) Context Switch: The scheduler saves the state of the running process Restores the state of the selected process to resume execution Key Features for Multi-Core: Per-CPU runqueues: Minimize cache-line bouncing and inter-core communication Improve performance on multi-core systems Load balancing: Ensures efficient use of all available CPU cores Prevents cores from becoming idle while others are overloaded Scalability: CFS design scales well with increasing core counts Maintains fairness and responsiveness in large systems Additional Considerations: Scheduler domains: Hierarchical structures for managing CPU resources across multiple cores or NUMA nodes Allow for fine-grained control over scheduling policies Preemption: CFS supports preemption to prevent processes from monopolizing the CPU Ensures interactive tasks remain responsive Remember: Linux kernel version 6 is under development, so specific details may change. The scheduler is a complex component with various optimizations and tuning parameters. Understanding its behavior requires deeper exploration of the code and experimentation.
- ghaff 3y agoLeaving aside the license violation rathole which is a question that will be resolved or not by courts, to your broader point. Yes, LLVMs are a tool and they may or may not increase productivity. However, for technical docs specifically, it's all about correctness in some sense so I'm not sure how useful a tool they even are if the output needs to be carefully checked.
- Etheryte 3y agoTechnical documentation is only useful if it's factually accurate. Inaccurate or misleading documentation is generally worse than no documentation.
- phyzome 3y agoBased on what I've seen of LLM output, not to mention people's difficulty in detecting problems in it? No.