语境 :
我有一个带有下拉菜单和地图的 Dash 应用程序。
该地图显示 3 个 ID 为“01”、“02”和“03”的标记。我可以点击一个标记并通过回调返回其 ID。
下拉列表使我能够通过 ID 选择标记。
我想要做的是使用地图上选定的标记更新下拉列表中的选定值。
示例:我想选择“02”。我可以通过在下拉列表中选择“02”或单击地图上的“02”来完成此操作。但如果我从地图中选择它,我希望从下拉列表中选择的值更新为“02”。
如何根据回调返回的值更新下拉列表选定的值?
这是一个代表:
# -*- coding: utf-8 -*-
import dash.dependencies
import dash_bootstrap_components as dbc
import pandas as pd
import dash_leaflet as dl
from dash import dcc, html, Input, Output
########################################################################################################################
# VARIABLES
df_sites = pd.DataFrame([['01', (48.805, 2.326)], ['02', (43.167, 0.969)], ['03', (48.812, 2.530)]],
columns=['id_tech', 'coordonnees'])
circlemarkers = [dl.CircleMarker(
dl.Tooltip(df_sites.iloc[i]['id_tech']),
center=pos,
radius=2,
id=df_sites.iloc[i]['id_tech'])
for i, pos in enumerate(df_sites['coordonnees'])]
########################################################################################################################
# APP
app = dash.Dash(__name__, external_stylesheets=[dbc.themes.BOOTSTRAP])
app.layout …Run Code Online (Sandbox Code Playgroud) 我有一个内核,它计算总和.如果我通过内核计算声明的变量数量,我会假设每个内核总共有5个寄存器*.但是,在分析内核时,使用了34个寄存器.我需要降低到30个寄存器以允许执行1024个线程.
任何人都可以看到有什么问题吗?
__global__ void sum_kernel(float* values, float bk_size, int start_idx, int end_idx, int resolution, float* avgs){
// Allocate shared memory (assuming a maximum of 1024 threads).
__shared__ float sums[1024];
// Boundary check.
if(blockIdx.x == 0){
avgs[blockIdx.x] = values[start_idx];
return;
}
else if(blockIdx.x == resolution-1) {
avgs[blockIdx.x] = values[start_idx+(end_idx-start_idx)-1];
return;
}
else if(blockIdx.x > resolution -2){
return;
}
// Iteration index calculation.
unsigned int idx_prev = floor((blockIdx.x + 0) * bk_size) + 1;
unsigned int from = idx_prev + threadIdx.x*(bk_size / …Run Code Online (Sandbox Code Playgroud)