Mod
C2ME OpenCL Acceleration Module
No reviews yet
C2ME addon that provides hardware accelerated world generation through OpenCL
Neoforge is a fork of the Minecraft Forge available for versions 1.20.1+ of Minecraft. Many Forge mods are compatible with Neoforge and vice versa.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
C2ME OpenCL Acceleration Module
Experimental C2ME addon that provides hardware accelerated world generation through OpenCL. Requires the base C2ME mod.
It is strongly recommended to install ScalableLux, because lighting can easily become a bottleneck.
Note
This mod requires Java 25 to function correctly, even on versions before 26.1.
World generation should have full vanilla parity in vanilla worldgen, with one exception:
Biome borders may get shifted by one or two blocks in very rare cases due to the vanilla implementation being order-dependent.
Usual worldgen non-determinism applies.
Currently only noise stage and biome stage are implemented.
The expected performance uplift is 80+% on vanilla overworld when cpu-bound. Performance will vary depending on seeds, datapacks, etc.
Also, worldgen now include GPU driver bugs in them. Please backup your worlds before using this on existing worlds.
Some worldgen mods is known to fail catastrophically. See Mod compatibility section for details.
Platform compatibility matrix
Supported: known to be fully working in generalPartial: known to be working with some big caveatsUnsupported: known to be not working at allN/A: Not applicable because the combination doesn't exist.
| Vendor | Generation | Driver | Windows | Linux |
|---|---|---|---|---|
| NVIDIA | Maxwell and beyond | Proprietary and Open | Supported | Partialยน |
| NVIDIA | Kepler | Propreitary | Unknown | Supported |
| NVIDIA | Older cards | Any | Unknown | Unknown |
| NVIDIA | nouveau supported GPUs | Rusticl on nouveau | N/A | Unknown |
| Intel | Gen9, Gen9.5โต | Officialยฒ | Partialยณ | Partialโด |
| Intel | Gen11, Gen12, Gen12.5โถ | Officialยฒ | Unsupportedยนยฒ | Unsupportedยนยฒ |
| Intel | Gen12.7, Xe2, Xe3 and beyondโถ | Officialยฒ | Partialยณ | Partialโด |
| Intel | Older graphics | Officialยฒ | Unknown | Unknown |
| Intel | iris supported GPUs | Rusticl on iris | N/A | Unknown |
| AMD | RDNA1 and beyondยนโด | Officialโธ | Supportedโน | Supported |
| AMD | GCN | Officialยนโฐ | Unsupportedยนยณ | Unsupportedยนยณ |
| AMD | radeonsi supported GPUs | Rusticl on radeonsi | N/A | Partialยนยน |
| Qualcomm | Any | Official | Unsupportedยนยฒ | Unsupportedยนยฒ |
| Apple | Any | Official | Unsupportedยนยฒ | Unsupportedยนยฒ |
- ยน The driver is known to hang after a while. Driver branch 535 LTS seem to work fine.
- ยฒ The official driver package on Windows. Gen9 and Gen9.5 needs up-to-date drivers:
Gen9: https://www.intel.com/content/www/us/en/download/762755/intel-6th-gen-processor-graphics-windows.html
Gen9.5: https://www.intel.com/content/www/us/en/download/776137/intel-7th-10th-gen-processor-graphics-windows.html
For Linux: https://github.com/intel/compute-runtime - ยณ GPU is known to crash on pretty much all non-vanilla worldgen. Your millage may vary.
- โด GPU is known to crash with some complex worldgen datapacks, such as Terralith. Your millage may vary.
- โต Gen9 and Gen9.5 are integrated graphics on 6th-9th gen core processors, and 10th gen non-G series core processors
- โถ Gen11 and Gen12, Gen12.5 here are integrated graphics in 10th G-series core processors, 11th-14th gen core processors, plus Arc DG1, Arc A-series
- โท Gen12.7 refers to Meteor Lake and Arrow Lake integrated graphics.
At this point it is integrated graphics in Core Ultra 100 series and above, plus Battlemage dedicated graphic and above. - โธ The official driver package on Windows. The ROCm runtime on Linux.
- โน Driver versions 26.5.1 is known to always crash. Existing installations upgraded to 26.6.1 may also crash as well.
If you are experiencing crashes on 26.6.1, it is recommended to DDU then do a fresh installation. - ยนโฐ The official driver package on Windows. The AMDGPU-Pro runtime on Linux.
- ยนยน Mesa 26.1.x branch is known to work on RDNA3/4. Anything can happen with any hardware combination, including corrupted worldgen. Your millage may vary.
- ยนยฒ Missing FP64 support
- ยนยณ Driver crashes
- ยนโด Integrated graphics for Ryzen 7000 series and 9000 series not included. They are too slow for this task.
Any hardware not listed here are in Unknown status. Feel free to test other hardware configurations that meets the minimum requirements detailed below.
Minimum hardware requirements
- a working OpenCL 1.2+ driver
cl_khr_fp64support (fp64 support)
Nice to have things
- a working OpenCL 3.0 driver
cl_khr_device_uuidfor stable device matchingCL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLEfor optimal performance. Not present on AMD GPUscl_khr_priority_hintsandcl_khr_throttle_hintsfor queue priority. Only known to be present on Intel GPUs- Non-uniform workgroups, not present on Nvidia GPUs and some AMD ones
Usage
Windows
- Install Fabric
- Install the mod
- Done
Linux
Since most linux distributions do not ship OpenCL out-of-the-box, you'll have to install it manually.
Running in Flatpak is an unsupported configuration
Flatpak currently only support Rusticl (and probably NVIDIA) as a OpenCL runtime, which is very rough on Linux. See the compatibility matrix above.
For Nvidia users
Usually the nvidia driver package your distro provides includes the OpenCL driver. You should be able to just use it. If it does not, see the following distro-specific setups.
Debian / Ubuntu
All vendors: install ocl-icd-opencl-dev
Nvidia: install nvidia-driver-full package
AMD: install rocm-opencl-icd package
Intel: install intel-opencl-icd for Gen12 and above or intel-opencl-icd-legacy for older iGPUs (not available on Debian 13 though, you'll have to compile them)
Arch Linux
https://wiki.archlinux.org/title/General-purpose_computing_on_graphics_processing_units#OpenCL
All vendors: install ocl-icd
Nvidia: install opencl-nvidia
AMD: install rocm-opencl-runtime
Intel: install intel-compute-runtime for Gen12 and above or intel-compute-runtime-legacy from AUR for older iGPUs
Fedora
All vendors: install ocl-icd-devel
Nvidia: https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/fedora.html
AMD: install rocm-opencl
Intel: install intel-opencl for Xe
Using Rusticl (very experimental)
This requires Mesa 26.1 and above and rusticl+fp64 to be enabled.
Compatibility
Datapack compatibility
This feature is guaranteed to work with datapacks that can be loaded with vanilla. For example:
- Stardust Labs datapacks (Terralith, Incedium, โฆ)
- Tectonic
- CliffTree
- โฆ more
Mod compatibility
Most non-worldgen mods should work.
For worldgen mods:
- Mods that repackage datapacks (that is, if renamed to a .zip that can still work as a datapack), see datapack compatibility.
- Tectonic as a mod works
- Mods that use custom density functions do NOT work, for now. (Such as Enderscape)
- Mods that rolls their entire new world generator do NOT work and probably never will without a lot of work. (Such as Big Globe)
- Some other special cases:
- Biomes O' Plenty: causes biome placement to fail completely
- TerraBlender: also causes biome placement to fail completely
Known issues:
- Shader compilation is known to take a while, depending on the datapack used.
- Extra memory usage outside of heap is expected for shader compilation.
- PoCL with CPU backend will almost certainly crash even if pocl is blacklisted in the config. The solution is to remove it entirely.
- Datapacks referencing
minecraft:beardifierdensity function directly can have slight errors in terrain shape. There's no plans to fix this, as vanilla isn't affected by this, and fixing this will halve the gpu throughput.
Tuning recommendations, for people that just want worldgen to go fast
Credit goes to skillnoob_ on discord.
Mods:
- ScalableLux (Light Engine Optimization, bottleneck in high performance chunk generation)
- Lithium (General Optimization mod for various things)
- FerriteCore (Memory usage Improvements)
- Structure Layout Optimizer (Makes Structures generate faster)
- zFastNoise (speeds up noise and surface builder in worldgen)
Java/JVM Flags:
-XX:+UseZGC -XX:+UseCompactObjectHeaders -Dchunky.maxWorkingCount=768 (The -Dchunky.maxWorkingCount=768 argument is only relevant if you are using chunky).
Then in the c2me.toml in your config folder you can change the globalExecutorParallelism = "default" option to your thread count or slightly below.
For example if you have a 16 thread CPU you'd need to change it to globalExecutorParallelism = 16.
You can also enable gcFreeChunkSerializer = true in the config, which can increase chunk gen performance.
Frequently Asked Questions
Does this use multiple GPUs?
By default, it does least-busy scheduling on all OpenCL devices it can find.
However, usually it is your CPU that's the bottleneck. See below.
So don't expect multi-GPU to bring any improvements unless you only have a bunch of GT1030.
My GPU is barely used and my CPU is being maxed out. What is happening?
With a reasonable pair of CPU and GPU, you will be CPU bound. This is mostly because only noise stage and biome stage are implemented.
Other stages may get implemented in the future.
How do I select GPUs?
You can specify whitelists and blacklists in the config file. Device UUID can be found in the logs.
AMD GPU names are gfx something in the logs, not their marketing names.
Does voxy work with this?
Yes.
In short, to generate render distance for voxy, install Chunky, run /voxy import current, then start a chunky task. It is recommended to join their discord server for more information.
Does Distant Horizons work with this?
Short answer: not recommended. Use Voxy instead.
Long answer: DH is too slow to see the benefit this brings.
If you still intend to use DH, use the Internal Server / Full - Save Chunks mode in DH for acceleration to work.
Even so, you may not see improvements because LoD generation is the slowest part in the chain already.
I'm getting OpenCL error [-1001]. What does it mean?
The OpenCL ICD loader is unable to locate any OpenCL drivers. Check your driver installation.
It is recommended to use clinfo tool as a quick check.
Does this work on dedicated servers?
Works on dedicated servers and singleplayer as long as drivers is in place.
Only linux x86_64, linux arm64 and windows x86_64 binaries is shipped on dedicated server.
I heard that Vulkan is THE graphics API to go. Why OpenCL?
- I'm familiar with it
- I need untyped pointers in vulkan, which did not exist in Vulkan until very recently
and that's effectively requiring Vulkan 1.4, shrinking hardware compatibility by a lot - Vulkan does not clearly specify FP64 precision outside "at least that of FP32".
- correctly rounded fp division and sqrt is still missing from the vulkan spec
Why not CUDA? or Rocm? or Level0? or Metal?
No vendor locked APIs.
I'm on AMD with a RDNA GPU, and I'm seeing crashes before worldgen even starts. Why?
Driver versions 26.5.1 is known to always crash. Existing installations upgraded to 26.6.1 may also crash as well.
If you are experiencing crashes on 26.6.1, it is recommended to DDU then do a fresh driver installation.
See footnote 9 in Platform compatibility matrix.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers