Files
cuda/runtime/__init__.py
Léo Germond 9ec042a042 black
2023-09-12 09:59:07 +02:00

51 lines
1.3 KiB
Python

from support.bsp_sources.target import DFBBTarget
import os
# cuda library
CUDA_API = os.path.join(os.path.dirname(__file__), "..", "api")
def add_source_dir(holder, subdir, path):
for f in os.listdir(path):
full = os.path.join(path, f)
if os.path.isfile(full):
holder.add_source(subdir, full)
class CUDADevice(DFBBTarget):
@property
def name(self):
return "cuda"
@property
def target(self):
return "cuda"
# @property
# def readme_file(self):
# return os.path.join(os.path.dirname(__file__), 'README')
@property
def system_ads(self):
return {"device": "runtime/device_gnat/system.ads"}
@property
def compiler_switches(self):
# The required compiler switches
return (f"-mcpu={self.gpu_arch}",)
def base_profile(self, profile):
# No base profile as the CUDA runtime uses it's own sources.
return "none"
def amend_rts(self, rts_profile, cfg):
super(CUDADevice, self).amend_rts("none", cfg)
cfg.rts_vars["Cuda_Target"] = "device"
# Add cuda sources. Probably better to put these in their own cuda
# directory with their own make file.
# add_source_dir(cfg, 'gnat', os.path.join(CUDA_API, 'device_static'))
def __init__(self):
super(CUDADevice, self).__init__()