Cost Models
Try this yourself (requires google account)
TopFarm can plug into the DTU’s costmodels package, containing a collection of economical cost models of wind turbines and wind farms. The package provides a convenient interface to compute common economical metrics which can be included as a objective function in the optimization. Moreover, additional user-defined cost models can easily be integrated in the TOPFARM optimization problems as well. Please see the documentation of the package in the repository.
[1]:
# Install TopFarm if needed
import importlib
if not importlib.util.find_spec("topfarm"):
%pip install git+https://gitlab.windenergy.dtu.dk/TOPFARM/TopFarm2.git
[2]:
import numpy as np
from costmodels.finance import Product, Technology
from costmodels.models import DTUOffshoreCostModel
from costmodels.models import BatteryCostModel
from costmodels.project import Project
from py_wake.deficit_models.gaussian import IEA37SimpleBastankhahGaussian
from py_wake.examples.data.iea37._iea37 import IEA37_WindTurbines, IEA37Site
from topfarm import TopFarmGroup, TopFarmProblem
from topfarm.constraint_components.boundary import CircleBoundaryConstraint
from topfarm.constraint_components.spacing import SpacingConstraint
from topfarm.cost_models.cost_model_wrappers import CostModelComponent
from topfarm.drivers.random_search_driver import RandomizeTurbinePosition_Circle
from topfarm.cost_models.economic_models.finance_wrapper import (
OffshoreWindPlantFinanceWrapper,
)
from topfarm.easy_drivers import (
EasyRandomSearchDriver,
EasyScipyOptimizeDriver,
EasySimpleGADriver,
ScipyOptimizeDriver,
)
from topfarm.plotting import NoPlot, XYPlotComp
W0710 13:36:26.990488 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:26.997934 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:26.998344 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:27.024854 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:27.027780 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:27.027874 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
/builds/TOPFARM/TopFarm2/.pixi/envs/default/lib/python3.13/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html
from .autonotebook import tqdm as notebook_tqdm
Set up plotting capability
[3]:
try:
import matplotlib.pyplot as plt
plt.gcf()
plot_comp = XYPlotComp()
plot = True
except RuntimeError:
plot_comp = NoPlot()
plot = False
<Figure size 640x480 with 0 Axes>
Set up IEA Wind Task 37 case study site with 16 turbines.
[4]:
n_wt = 16 # number of wind turbines
site = IEA37Site(n_wt) # site is the IEA Wind Task 37 site with a circle boundary
windTurbines = IEA37_WindTurbines() # wind turbines are the IEA Wind Task 37 3.4 MW reference turbine
wake_model = IEA37SimpleBastankhahGaussian(site, windTurbines) # select the Gaussian wake model
# vectors for turbine properties: diameter, rated power and hub height. these are inputs to the cost model
Drotor_vector = [windTurbines.diameter()] * n_wt
power_rated_vector = [float(windTurbines.power(20)/1000)] * n_wt
hub_height_vector = [windTurbines.hub_height()] * n_wt
/builds/TOPFARM/TopFarm2/.pixi/envs/default/lib/python3.13/site-packages/py_wake/deficit_models/gaussian.py:279: UserWarning: The IEA37SimpleBastankhahGaussian model is not representative of the setup used in the literature. For this, use py_wake.literature.iea37_case_study1.IEA37CaseStudy1 instead
DeprecatedModel.__init__(self, 'py_wake.literature.iea37_case_study1.IEA37CaseStudy1')
Setup cost model with DTU Offshore cost model case. Starting with bathymetry of the site
[5]:
# Bathymetry grid
from topfarm.examples.bathymetry_ficticio import (
get_bathymetry_func_circle,
plot_bathymetry_circle,
)
RADIUS = 1300.1
f = get_bathymetry_func_circle(
sigma=RADIUS, mu=0.0, x_peak_1=0, y_peak_1=1000, x_peak_2=3000, y_peak_2=300
)
plot_bathymetry_circle(f, RADIUS)
# Water depth function
def water_depth_func(x, y, **kwargs):
xnew, ynew = np.meshgrid(x, y)
points = np.array([xnew.flatten(), ynew.flatten()]).T
return -np.diag(f(points).reshape(n_wt, n_wt).T)
Setup economic model based on water depth
For single technology offshore wind plants you can use the pre-confiugred economic component. Further down you can explore using the cost model package directly with the possibility to change the techno-economical models and add or change the technologies present in the plant by adding e.g. solar or batteries and change or add energy vectors like e.g. hydrogen.
[6]:
# Economic
LIFETIME = 25
el_price = np.random.uniform(0, 6, LIFETIME) # time series
el_price = 6 # fixed ppa price
npv_comp = OffshoreWindPlantFinanceWrapper(windTurbines, n_wt, el_price, LIFETIME)
cost_model = npv_comp.cost_model
out = cost_model.run(aep=373206.64521435613, water_depth=20.0)
print(out)
W0710 13:36:32.301191 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:32.302150 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:32.302314 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:32.318021 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:32.318654 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:32.318699 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:32.333155 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:32.333761 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:32.333900 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:32.490325 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:32.490817 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:32.490831 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:32.505544 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:32.508459 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:32.508486 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:33.476468 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:33.477353 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:33.477368 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:33.567359 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:33.570632 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:33.570653 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:34.251312 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:34.254837 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:34.254871 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
W0710 13:36:34.577334 4089 pjrt_executable.cc:642] Assume version compatibility. PjRt-IFRT does not track XLA executable versions.
E0710 13:36:34.578031 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-gather is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
E0710 13:36:34.578046 4118 cpu_aot_loader.cc:220] Loading XLA:CPU AOT result. Target machine feature +prefer-no-scatter is not supported on the host machine. Machine type used for XLA:CPU compilation doesn't match the machine type for execution. Compile machine features: [+64bit,+adx,+aes,+avx,+avx2,+avx512bw,+avx512cd,+avx512dq,+avx512f,+avx512vl,+avx512vnni,+bmi,+bmi2,+clflushopt,+clwb,+cmov,+crc32,+cx16,+cx8,+f16c,+fma,+fsgsbase,+fxsr,+invpcid,+lzcnt,+mmx,+movbe,+pclmul,+pku,+popcnt,+prefer-no-gather,+prefer-no-scatter,+prfchw,+rdrnd,+rdseed,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+xsave,+xsavec,+xsaveopt,+xsaves,-amx-avx512,-amx-bf16,-amx-complex,-amx-fp16,-amx-fp8,-amx-int8,-amx-movrs,-amx-tf32,-amx-tile,-avx10.1,-avx10.2,-avx512bf16,-avx512bitalg,-avx512fp16,-avx512ifma,-avx512vbmi,-avx512vbmi2,-avx512vp2intersect,-avx512vpopcntdq,-avxifma,-avxneconvert,-avxvnni,-avxvnniint16,-avxvnniint8,-ccmp,-cf,-cldemote,-clzero,-cmpccxadd,-egpr,-enqcmd,-fma4,-gfni,-hreset,-kl,-lwp,-movdir64b,-movdiri,-movrs,-mwaitx,-ndd,-nf,-pconfig,-ppx,-prefetchi,-ptwrite,-push2pop2,-raoint,-rdpid,-rdpru,-rtm,-serialize,-sgx,-sha,-sha512,-shstk,-sm3,-sm4,-sse4a,-tbm,-tsxldtrk,-uintr,-usermsr,-vaes,-vpclmulqdq,-waitpkg,-wbnoinvd,-widekl,-xop,-zu] vs host machine features: [prfchw,avx,aes,sahf,pclmul,crc32,xsaves,sse4.1,xsave,sse4.2,invpcid,64bit,xsavec,cmov,avx512cd,movbe,adx,avx2,avx512vl,clflushopt,bmi,sse,xsaveopt,rdrnd,avx512f,avx512vnni,cx8,avx512bw,sse3,pku,fsgsbase,lzcnt,ssse3,cx16,bmi2,fma,popcnt,f16c,clwb,mmx,sse2,rdseed,fxsr,avx512dq]. This could lead to execution errors such as SIGILL.
CostOutput(capex=Array(103.73955334, dtype=float64), opex=Array(0.00137346, dtype=float64))
Set up functions for the AEP and cost calculations.
[7]:
# function for calculating aep as a function of x,y positions of the wind turbiens
def aep_func(x, y, **kwargs):
return wake_model(x, y).aep().sum().values * 1e3
Now set up a problem to run an optimization using NPV as the objective function.
Note that the turbines are fixed so the main driver changing the NPV will be the AEP as the turbine positions change. Here you can select different drivers to see how the optimization result changes.
[8]:
# create an openmdao component for aep and NPV to add to the problem
aep_comp = CostModelComponent(
input_keys=["x", "y"],
n_wt=n_wt,
cost_function=aep_func,
output_keys="aep",
output_unit="MWh",
objective=False,
output_vals=0.0,
)
# Water Depth
water_depth_component = CostModelComponent(
input_keys=[("x", site.initial_position.T[0]), ("y", site.initial_position.T[1])],
n_wt=n_wt,
cost_function=water_depth_func,
objective=False,
output_keys=[("water_depth", np.zeros(n_wt))],
)
# create a group for the aep and npv components that links their common input/output (aep)
npv_group = TopFarmGroup([aep_comp, water_depth_component, npv_comp])
# add the group to an optimization problem and specify the design variables (turbine positions),
# cost function (npv_group), and constraints (circular boundary and spacing)
problem = TopFarmProblem(
design_vars=dict(zip("xy", site.initial_position.T)),
n_wt=n_wt,
cost_comp=npv_group,
# specify driver to use: SLSQP (gradient-based), random search (gradient-free), COBYLA (gradient-free), genetic algorithm, GA (gradient-free)
# driver=ScipyOptimizeDriver(optimizer="SLSQP", maxiter=30, tol=1e-6, disp=True),
driver=EasyRandomSearchDriver(
randomize_func=RandomizeTurbinePosition_Circle(max_step=50), max_iter=50
),
# driver=EasyScipyOptimizeDriver(optimizer='COBYLA', maxiter=200, tol=1e-6, disp=False),
# driver=EasySimpleGADriver(max_gen=100, pop_size=5, Pm=None, Pc=.5, elitism=True, bits={}),
constraints=[SpacingConstraint(200), CircleBoundaryConstraint([0, 0], RADIUS)],
plot_comp=plot_comp,
)
# assign data from optimizationn to a set of accessible variables and run the optimization
cost, state, recorder = problem.optimize()
[9]:
from topfarm.utils import plot_list_recorder
plot_list_recorder(recorder)
Detailed Economic model
If you have a hybrid plant comprised of several technologies and/or energy vectors you can make a bespoke financial component
[10]:
LIFETIME = 25
cost_model = DTUOffshoreCostModel(
rated_power=windTurbines.power(20) / 1e6,
rotor_speed=10.0,
rotor_diameter=windTurbines.diameter(),
hub_height=windTurbines.hub_height(),
lifetime=LIFETIME,
capacity_factor=0.4,
nwt=n_wt,
)
wind_technology = Technology(
name="wind",
lifetime=LIFETIME,
product=Product.SPOT_ELECTRICITY,
cost_model=cost_model,
)
battery_cost_model = BatteryCostModel(
battery_power=27.0,
battery_energy=108.0,
state_of_health=np.hstack(
[
-1.7e-6 * np.arange(1.8e5) + 1,
-2.5e-6 * np.arange(25 * 365 * 24 - 1.8e5) + 1,
]
).ravel(),
)
battery_technology = Technology(
name="battery",
lifetime=LIFETIME,
cost_model=battery_cost_model,
)
wind_farm_project = Project(
technologies=[wind_technology, battery_technology],
product_prices={Product.SPOT_ELECTRICITY: np.random.uniform(0, 6, LIFETIME)},
)
def npv_func(aep, water_depth, **kwargs):
return np.asarray(
wind_farm_project.npv(
productions={
wind_technology.name: aep,
},
cost_model_args={
wind_technology.name: {
"water_depth": water_depth,
"aep": aep,
},
},
)
)
def npv_grad_func(aep, water_depth, **kwargs):
grads = wind_farm_project.npv_grad(
productions={
wind_technology.name: aep,
},
cost_model_args={
wind_technology.name: {
"water_depth": water_depth,
"aep": aep,
},
},
)
prod_grad = grads[0][wind_technology.name]
water_depth_grad = grads[1][wind_technology.name]["water_depth"]
return np.asarray(prod_grad), np.asarray(water_depth_grad)
[11]:
# # Economy
npv_comp = CostModelComponent(
input_keys=[
("aep", 0),
("water_depth", 30 * np.ones(n_wt)),
],
n_wt=n_wt,
cost_function=npv_func,
cost_gradient_function=npv_grad_func,
objective=True,
maximize=True,
output_keys=[("npv", 0)],
output_unit="EUR",
)
npv_group = TopFarmGroup([aep_comp, water_depth_component, npv_comp])
# add the group to an optimization problem and specify the design variables (turbine positions),
# cost function (npv_group), and constraints (circular boundary and spacing)
problem = TopFarmProblem(
design_vars=dict(zip("xy", site.initial_position.T)),
n_wt=n_wt,
cost_comp=npv_group,
# specify driver to use: SLSQP (gradient-based), random search (gradient-free), COBYLA (gradient-free), genetic algorithm, GA (gradient-free)
driver=ScipyOptimizeDriver(optimizer="SLSQP", maxiter=30, tol=1e-6, disp=True),
# driver=EasyRandomSearchDriver(
# randomize_func=RandomizeTurbinePosition_Circle(max_step=50), max_iter=50
# ),
# driver=EasyScipyOptimizeDriver(optimizer='COBYLA', maxiter=200, tol=1e-6, disp=False),
# driver=EasySimpleGADriver(max_gen=100, pop_size=5, Pm=None, Pc=.5, elitism=True, bits={}),
constraints=[SpacingConstraint(200), CircleBoundaryConstraint([0, 0], RADIUS)],
plot_comp=plot_comp,
)
# assign data from optimizationn to a set of accessible variables and run the optimization
cost, state, recorder = problem.optimize()
E0710 13:38:02.969506 4130 slow_operation_alarm.cc:73] Constant folding an instruction is taking > 1s:
%reduce-window.18 = s64[13688,16]{0,1} reduce-window(%constant.1683, %constant.380), window={size=1x16 pad=0_0x15_0}, to_apply=%region_3.7
This isn't necessarily a bug; constant-folding is inherently a trade-off between compilation time and speed at runtime. XLA has some guards that attempt to keep constant folding from taking too long, but fundamentally you'll always be able to come up with an input program that takes a long time.
If you'd like to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.
E0710 13:38:05.549590 4118 slow_operation_alarm.cc:140] The operation took 3.580700178s
Constant folding an instruction is taking > 1s:
%reduce-window.18 = s64[13688,16]{0,1} reduce-window(%constant.1683, %constant.380), window={size=1x16 pad=0_0x15_0}, to_apply=%region_3.7
This isn't necessarily a bug; constant-folding is inherently a trade-off between compilation time and speed at runtime. XLA has some guards that attempt to keep constant folding from taking too long, but fundamentally you'll always be able to come up with an input program that takes a long time.
If you'd like to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.
E0710 13:38:08.782072 4130 slow_operation_alarm.cc:73] Constant folding an instruction is taking > 2s:
%reduce-window.20 = s64[13688,16]{0,1} reduce-window(%constant.1727, %constant.381), window={size=1x16 pad=0_0x15_0}, to_apply=%region_3.7.clone
This isn't necessarily a bug; constant-folding is inherently a trade-off between compilation time and speed at runtime. XLA has some guards that attempt to keep constant folding from taking too long, but fundamentally you'll always be able to come up with an input program that takes a long time.
If you'd like to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.
E0710 13:38:10.459346 4118 slow_operation_alarm.cc:140] The operation took 3.68048009s
Constant folding an instruction is taking > 2s:
%reduce-window.20 = s64[13688,16]{0,1} reduce-window(%constant.1727, %constant.381), window={size=1x16 pad=0_0x15_0}, to_apply=%region_3.7.clone
This isn't necessarily a bug; constant-folding is inherently a trade-off between compilation time and speed at runtime. XLA has some guards that attempt to keep constant folding from taking too long, but fundamentally you'll always be able to come up with an input program that takes a long time.
If you'd like to file a bug, run with envvar XLA_FLAGS=--xla_dump_to=/tmp/foo and attach the results.
Iteration limit reached (Exit mode 9)
Current function value: 120359870.9160469
Iterations: 30
Function evaluations: 61
Gradient evaluations: 31
Optimization FAILED.
Iteration limit reached
-----------------------------------
[12]:
plot_list_recorder(recorder)
Exercise
Interpret results and see if you can improve the result by giving optimizer more iteration or change the driver in the topfarm problem above to see if an improved objective function can be obtained.
Exercise
Manipulate the DTU Offshore Cost Model instantiation inputs to see how this influences the optimal NPV found.