Skip to content

Run SOCRATES with OpenMP and/or on GPUs #28

Description

@nichollsh

Background

SOCRATES is written in FORTRAN and designed for running on x86_64 (AMD64) CPU architectures. Each call to l_run_cdf or radiance_calc() use a single thread. This limits the performance of the code since, each spectral band calculation can (in principle) be performed in dependently, and therefore parallelised.

Suggestion

Loops over spectral bands can potentially be parallelised with minimal modifications to core SOCRATES code, using OpenMP. This would improve model performance on CPUs.

We can potentially extend this further by performing calculations on GPUs. Refer to this recent paper showing the feasibility of adapting "standard" FORTRAN codes for running on GPU hardware: https://arxiv.org/abs/2608.20586. This could work on both AMD (ROCm) and Nvidia (CUDA) architectures.

People

@egpbos @timlichtenberg @maraattia

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Atmos. (clim)Physics - atmospheric climate and temperaturePriority 4: lowPriority level 4: nice to have features and/or has some time

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions