0Pricing
Mojo Academy · Урок

Анатомия вычислительного ядра

Горячий внутренний цикл, выполняющий работу.

«Анатомия вычислительного ядра» — бесплатный урок Mojo Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Mojo Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Mojo Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

What Is a Kernel?

A compute kernel is the small, focused routine that does the real numerical work, like adding two arrays element by element.

The Hot Inner Loop

Most of a kernel's time lives in one tight inner loop. Speed up that loop and you speed up the whole program.

for i in range(n):
    out[i] = a[i] + b[i]

Inputs and Outputs

A clean kernel takes its data buffers as parameters, so the same routine can run on any arrays you pass in.

fn add(a: UnsafePointer[Float32], b: UnsafePointer[Float32], out: UnsafePointer[Float32], n: Int):
    pass

Use fn for Strictness

Kernels are written with fn, not def. The strict, typed style lets Mojo compile tight machine code with no surprises.

fn kernel(n: Int):
    pass

Keep the Body Small

The fastest kernels do one thing. A short, predictable inner body is easy for the compiler to optimize aggressively.

No Surprises Inside

Avoid heavy work like allocation or I/O in the hot loop. Each iteration should be cheap and uniform for peak throughput.

Count the Work

Think in terms of total operations. A kernel over n elements does roughly n units of work, so n drives the cost.

Memory Is the Limit

Many kernels are not compute-bound but memory-bound. They wait on data, so how you move bytes often matters most.

Plan to Vectorize

Design the loop so each step can later process many elements with SIMD. A regular access pattern makes vectorizing easy.

A Tiny Saxpy Kernel

A classic kernel is saxpy: out = scale times a plus b. It is small, regular, and a great baseline to optimize.

for i in range(n):
    out[i] = scale * a[i] + b[i]

Measure Before You Tune

Start with the simple correct version and time it. That number is your baseline for every optimization that follows.

Quick Check

You are about to optimize a kernel. Where does almost all of its time go?

Recap

A kernel is a small fn whose tight inner loop does the work; keep it uniform, mind memory, and measure a baseline first. 🔧

Часто задаваемые вопросы

Урок «Анатомия вычислительного ядра» бесплатный?

Да — полный текст урока «Анатомия вычислительного ядра» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Mojo Academy, подпишись на CoddyKit PRO. Курс Mojo Academy содержит 4 уроков всего.

Чему я научусь в уроке «Анатомия вычислительного ядра»?

Горячий внутренний цикл, выполняющий работу. Ты практикуешь Mojo Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Mojo Academy?

Предыдущий опыт не требуется. Mojo Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Анатомия вычислительного ядра»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Mojo Academy?

Да. Каждый урок Mojo Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Анатомия вычислительного ядра
  2. Объединение SIMD и циклов
  3. Снижение трафика памяти
  4. Тайлинг для локальности кэша
← Назад к Mojo Academy