{ "cells": [ { "cell_type": "markdown", "id": "4a6ab9a2-28a2-445d-8512-a0dc8d1b54e9", "metadata": {}, "source": [ "# Code Generator\n", "\n", "The requirement: use a Frontier model to generate high performance C++ code from Python code\n" ] }, { "cell_type": "markdown", "id": "d5ccb926-7b49-44a4-99ab-8ef20b5778c0", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Reminder: OPTIONAL to execute C++ code

\n", " As an alternative, you can run it on the website given yesterday\n", "
" ] }, { "cell_type": "markdown", "id": "d90e04a2-5b8a-4fd5-9db8-27c02f033313", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", "

Important Note

\n", " \n", " In this lab, I use free open source models on Ollama. I also use paid open-source models via Groq and OpenRouter. Only pick the models you want to!\n", " \n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "e610bf56-a46e-4aff-8de1-ab49d62b1ad3", "metadata": {}, "outputs": [], "source": [ "# imports\n", "\n", "import os\n", "import io\n", "import sys\n", "from dotenv import load_dotenv\n", "from openai import OpenAI\n", "import gradio as gr\n", "import subprocess\n" ] }, { "cell_type": "code", "execution_count": null, "id": "4f672e1c-87e9-4865-b760-370fa605e614", "metadata": {}, "outputs": [], "source": [ "load_dotenv(override=True)\n", "openai_api_key = os.getenv('OPENAI_API_KEY')\n", "anthropic_api_key = os.getenv('ANTHROPIC_API_KEY')\n", "google_api_key = os.getenv('GOOGLE_API_KEY')\n", "grok_api_key = os.getenv('GROK_API_KEY')\n", "groq_api_key = os.getenv('GROQ_API_KEY')\n", "openrouter_api_key = os.getenv('OPENROUTER_API_KEY')\n", "\n", "if openai_api_key:\n", " print(f\"OpenAI API Key exists and begins {openai_api_key[:8]}\")\n", "else:\n", " print(\"OpenAI API Key not set\")\n", " \n", "if anthropic_api_key:\n", " print(f\"Anthropic API Key exists and begins {anthropic_api_key[:7]}\")\n", "else:\n", " print(\"Anthropic API Key not set (and this is optional)\")\n", "\n", "if google_api_key:\n", " print(f\"Google API Key exists and begins {google_api_key[:2]}\")\n", "else:\n", " print(\"Google API Key not set (and this is optional)\")\n", "\n", "if grok_api_key:\n", " print(f\"Grok API Key exists and begins {grok_api_key[:4]}\")\n", "else:\n", " print(\"Grok API Key not set (and this is optional)\")\n", "\n", "if groq_api_key:\n", " print(f\"Groq API Key exists and begins {groq_api_key[:4]}\")\n", "else:\n", " print(\"Groq API Key not set (and this is optional)\")\n", "\n", "if openrouter_api_key:\n", " print(f\"OpenRouter API Key exists and begins {openrouter_api_key[:6]}\")\n", "else:\n", " print(\"OpenRouter API Key not set (and this is optional)\")\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "59863df1", "metadata": {}, "outputs": [], "source": [ "# Connect to client libraries\n", "\n", "openai = OpenAI()\n", "\n", "anthropic_url = \"https://api.anthropic.com/v1/\"\n", "gemini_url = \"https://generativelanguage.googleapis.com/v1beta/openai/\"\n", "grok_url = \"https://api.x.ai/v1\"\n", "groq_url = \"https://api.groq.com/openai/v1\"\n", "ollama_url = \"http://localhost:11434/v1\"\n", "openrouter_url = \"https://openrouter.ai/api/v1\"\n", "\n", "anthropic = OpenAI(api_key=anthropic_api_key, base_url=anthropic_url)\n", "gemini = OpenAI(api_key=google_api_key, base_url=gemini_url)\n", "grok = OpenAI(api_key=grok_api_key, base_url=grok_url)\n", "groq = OpenAI(api_key=groq_api_key, base_url=groq_url)\n", "ollama = OpenAI(api_key=\"ollama\", base_url=ollama_url)\n", "openrouter = OpenAI(api_key=openrouter_api_key, base_url=openrouter_url)\n" ] }, { "cell_type": "code", "execution_count": null, "id": "8aa149ed-9298-4d69-8fe2-8f5de0f667da", "metadata": {}, "outputs": [], "source": [ "models = [\"gpt-5\", \"claude-sonnet-4-5-20250929\", \"grok-4\", \"gemini-2.5-pro\", \"qwen2.5-coder\", \"deepseek-coder-v2\", \"gpt-oss:20b\", \"qwen/qwen3-coder-30b-a3b-instruct\", \"openai/gpt-oss-120b\", ]\n", "\n", "clients = {\"gpt-5\": openai, \"claude-sonnet-4-5-20250929\": anthropic, \"grok-4\": grok, \"gemini-2.5-pro\": gemini, \"openai/gpt-oss-120b\": groq, \"qwen2.5-coder\": ollama, \"deepseek-coder-v2\": ollama, \"gpt-oss:20b\": ollama, \"qwen/qwen3-coder-30b-a3b-instruct\": openrouter}\n", "\n", "# Want to keep costs ultra-low? Replace this with models of your choice, using the examples from yesterday" ] }, { "cell_type": "code", "execution_count": null, "id": "68c1f1be", "metadata": {}, "outputs": [], "source": [ "from system_info import retrieve_system_info\n", "\n", "system_info = retrieve_system_info()\n", "system_info" ] }, { "cell_type": "markdown", "id": "81e92c12", "metadata": {}, "source": [ "## Overwrite this with the commands from yesterday\n", "\n", "Or just use the website like yesterday:\n", "\n", " https://www.programiz.com/cpp-programming/online-compiler/" ] }, { "cell_type": "code", "execution_count": null, "id": "d734a634", "metadata": {}, "outputs": [], "source": [ "compile_command = [\"clang++\", \"-std=c++17\", \"-Ofast\", \"-mcpu=native\", \"-flto=thin\", \"-fvisibility=hidden\", \"-DNDEBUG\", \"main.cpp\", \"-o\", \"main\"]\n", "run_command = [\"./main\"]\n" ] }, { "cell_type": "markdown", "id": "f0b0a437", "metadata": {}, "source": [ "## And now, on with the main task" ] }, { "cell_type": "code", "execution_count": null, "id": "6896636f-923e-4a2c-9d6c-fac07828a201", "metadata": {}, "outputs": [], "source": [ "system_prompt = \"\"\"\n", "Your task is to convert Python code into high performance C++ code.\n", "Respond only with C++ code. Do not provide any explanation other than occasional comments.\n", "The C++ response needs to produce an identical output in the fastest possible time.\n", "\"\"\"\n", "\n", "def user_prompt_for(python):\n", " return f\"\"\"\n", "Port this Python code to C++ with the fastest possible implementation that produces identical output in the least time.\n", "The system information is:\n", "{system_info}\n", "Your response will be written to a file called main.cpp and then compiled and executed; the compilation command is:\n", "{compile_command}\n", "Respond only with C++ code.\n", "Python code to port:\n", "\n", "```python\n", "{python}\n", "```\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": null, "id": "8e7b3546-57aa-4c29-bc5d-f211970d04eb", "metadata": {}, "outputs": [], "source": [ "def messages_for(python):\n", " return [\n", " {\"role\": \"system\", \"content\": system_prompt},\n", " {\"role\": \"user\", \"content\": user_prompt_for(python)}\n", " ]\n", " " ] }, { "cell_type": "code", "execution_count": null, "id": "c6190659-f54c-4951-bef4-4960f8e51cc4", "metadata": {}, "outputs": [], "source": [ "def write_output(cpp):\n", " with open(\"main.cpp\", \"w\") as f:\n", " f.write(cpp)" ] }, { "cell_type": "code", "execution_count": null, "id": "e7d2fea8-74c6-4421-8f1e-0e76d5b201b9", "metadata": {}, "outputs": [], "source": [ "def port(model, python):\n", " client = clients[model]\n", " reasoning_effort = \"high\" if 'gpt' in model else None\n", " response = client.chat.completions.create(model=model, messages=messages_for(python), reasoning_effort=reasoning_effort)\n", " reply = response.choices[0].message.content\n", " reply = reply.replace('```cpp','').replace('```','')\n", " write_output(reply)\n", " return reply" ] }, { "cell_type": "code", "execution_count": null, "id": "a1cbb778-fa57-43de-b04b-ed523f396c38", "metadata": {}, "outputs": [], "source": [ "pi = \"\"\"\n", "import time\n", "\n", "def calculate(iterations, param1, param2):\n", " result = 1.0\n", " for i in range(1, iterations+1):\n", " j = i * param1 - param2\n", " result -= (1/j)\n", " j = i * param1 + param2\n", " result += (1/j)\n", " return result\n", "\n", "start_time = time.time()\n", "result = calculate(200_000_000, 4, 1) * 4\n", "end_time = time.time()\n", "\n", "print(f\"Result: {result:.12f}\")\n", "print(f\"Execution Time: {(end_time - start_time):.6f} seconds\")\n", "\"\"\"" ] }, { "cell_type": "code", "execution_count": null, "id": "7fe1cd4b-d2c5-4303-afed-2115a3fef200", "metadata": {}, "outputs": [], "source": [ "def run_python(code):\n", " globals_dict = {\"__builtins__\": __builtins__}\n", "\n", " buffer = io.StringIO()\n", " old_stdout = sys.stdout\n", " sys.stdout = buffer\n", "\n", " try:\n", " exec(code, globals_dict)\n", " output = buffer.getvalue()\n", " except Exception as e:\n", " output = f\"Error: {e}\"\n", " finally:\n", " sys.stdout = old_stdout\n", "\n", " return output" ] }, { "cell_type": "code", "execution_count": null, "id": "4194e40c-04ab-4940-9d64-b4ad37c5bb40", "metadata": {}, "outputs": [], "source": [ "def compile_and_run():\n", " try:\n", " subprocess.run(compile_command, check=True, text=True, capture_output=True)\n", " print(subprocess.run(run_command, check=True, text=True, capture_output=True).stdout)\n", " print(subprocess.run(run_command, check=True, text=True, capture_output=True).stdout)\n", " print(subprocess.run(run_command, check=True, text=True, capture_output=True).stdout)\n", " except subprocess.CalledProcessError as e:\n", " print(f\"An error occurred:\\n{e.stderr}\")" ] }, { "cell_type": "code", "execution_count": null, "id": "f1ddb38e-6b0a-4c37-baa4-ace0b7de887a", "metadata": {}, "outputs": [], "source": [ "with gr.Blocks() as ui:\n", " with gr.Row():\n", " python = gr.Textbox(label=\"Python code:\", lines=28, value=pi)\n", " cpp = gr.Textbox(label=\"C++ code:\", lines=28)\n", " with gr.Row():\n", " model = gr.Dropdown(models, label=\"Select model\", value=models[0])\n", " convert = gr.Button(\"Convert code\")\n", "\n", " convert.click(port, inputs=[model, python], outputs=[cpp])\n", "\n", "ui.launch(inbrowser=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "28969928", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "d9cc1c03", "metadata": {}, "outputs": [], "source": [ "compile_and_run()" ] }, { "cell_type": "markdown", "id": "80037156", "metadata": {}, "source": [ "Qwen 2.5 Coder: Fail \n", "DeepSeek Coder v2: 0.114050084 \n", "OpenAI gpt-oss 20B: 0.080438 \n", "Qwen 30B: 0.113734 \n", "OpenAI gpt-oss 120B: 1.407383\n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "ad8d4e52", "metadata": {}, "source": [ "In Ed's experiments, the performance speedups were:\n", "\n", "9th place: Qwen 2.5 Coder: Fail \n", "8th place: OpenAI GPT-OSS 120B: 14X speedup \n", "7th place: DeepSeek Coder v2: 168X speedup \n", "6th place: Qwen3 Coder 30B: 168X speedup \n", "5th place: Claude Sonnet 4.5: 184X speedup \n", "4th place: GPT-5: 233X speedup \n", "**3rd place: oss-20B: 238X speedup** \n", "2nd place: Grok 4: 1060X speedup \n", "1st place: Gemini 2.5 Pro: 1440X speedup " ] }, { "cell_type": "markdown", "id": "6e617df9", "metadata": {}, "source": [] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.9" } }, "nbformat": 4, "nbformat_minor": 5 }