ワンクリックで
paracodex-cuda-sycl-step1
ParaCodex prompt for cuda to sycl step1 (implementation) step.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
ParaCodex prompt for cuda to sycl step1 (implementation) step.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
ParaCodex baseline skill: translate serial / parallel code to GPU-offloaded target API, optimize, compile, and run — all in a single session.
ParaCodex prompt for cuda to hip analysis step.
ParaCodex prompt for cuda to hip step1 (implementation) step.
ParaCodex prompt for cuda to hip step2 (optimization) step.
ParaCodex prompt for cuda ocl analysis step.
ParaCodex prompt for cuda ocl step1 step.
| name | paracodex-cuda-sycl-step1 |
| description | ParaCodex prompt for cuda to sycl step1 (implementation) step. |
Directory: {kernel_dir}/
Files: {file_listing}
Reference: {kernel_dir}/analysis.md
Required:
# Baseline CUDA output is in baseline_output.txt in {kernel_dir}/
MANDATORY: Create sycl_migration_plan.md in {kernel_dir} using template in references/output.md.
Reference: references/examples.md (dpct usage).
system_info_summary.txt; push to the largest short-run, memory-safe input that should load the GPU meaningfully on this device.If dpct (Compatibility Tool) or syclomatic is available, you may use it to convert source files.
CRITICAL: If dpct or syclomatic is NOT installed, DO NOT attempt to install it via apt or by downloading packages. Proceed immediately to perform the migration manually.
# Example if available:
dpct --in-root=. --out-root=dpct_output {source_file}.cu
try/catch sycl::exception).sycl::queue q{sycl::gpu_selector_v};
T* d_ptr = sycl::malloc_device<T>(N, q);
q.memcpy(d_ptr, h_ptr, N * sizeof(T)).wait();
q.parallel_for(sycl::nd_range<1>{global, local}, [=](sycl::nd_item<1> it) {
int i = it.get_global_id(0);
// kernel body
}).wait();
q.memcpy(h_ptr, d_ptr, N * sizeof(T)).wait();
sycl::free(d_ptr, q);
q.submit([&](sycl::handler& h){ ... }) with chained events (.depends_on()) to overlap transfers with compute. For strictly linear pipelines, sycl::property::queue::in_order{} is a cleaner alternative — no explicit depends_on needed:
sycl::queue q{sycl::gpu_selector_v, sycl::property::queue::in_order{}};
// All operations execute in submission order automatically
icpx (the environment manages the correct SYCL compiler).<RUN_ARGS>, <PROGRAM_NAME>, <SOURCE_FILES>, etc.) with real values.{clean_cmd_str}
{build_cmd_str}
timeout 300 {run_cmd_str} > sycl_output.txt 2>&1
The final deliverable must also support its normal run path without manual placeholder overrides.
diff baseline_output.txt sycl_output.txt
.wait() calls in the hot path.{nsys_profile_cmd} > {profile_log_path} 2>&1 produces GPU kernel information in the log.dpct is missing, do it manually.