小编Mou*_*rew的帖子

MATLAB文本框在旋转3D绘图的顶部处于恒定位置?

我试图在MATLAB中的旋转图上有一个文本框,但我不希望文本框改变它相对于图形的位置.我认为'units','normalized'text函数中会这样做,但它并不是很有效,如下例所示.我想我可以使用,uicontrol但我想使用希腊字母,我不能uicontrol看起来那么好text.以下示例重新创建了我的问题.您会注意到文本框会随着情节的旋转而移动,但我希望它只是停留在它开始的左上角区域.谢谢!

part_x = rand(1000,3)-.5;                         %generate random 3D coordinates to scatter
fig1 = figure;
scatter3(part_x(:,1), part_x(:,2), part_x(:,3))
axis equal vis3d
axis([-1 1 -1 1 -1 1])
set(fig1,'color','w')

for tau = 1:150
    view(tau+20,30);                              %spin the plot
    pause(.01)
    if tau~=1; delete(tau_text); end;             %delete the previous text if it exists
    tau_text = text(.1,.7,...
                    ['\tau = ',num2str(tau)],...
                    'units','normalized',...      %text coordinates relative to figure?
                    'Margin',3,...                %these last 3 lines make it look nice
                    'edgecolor','k',...
                    'backgroundcolor','w');
end
Run Code Online (Sandbox Code Playgroud)

3d matlab text location figure

7
推荐指数
1
解决办法
4558
查看次数

CUDA结构对齐正在减慢我的代码(可编译示例)

我有一个模拟计算在电场和磁场中移动的带电粒子的3D矢量. 我尝试使用说明__align__符在CUDA中加速这一点,认为可能限制因素是全局内存读取和写入,但使用__align__最终减慢它(可能是因为它增加了总内存需求).我也试过使用float3,float4但他们的表现相似

我已经创建了此代码的简化版本并将其粘贴在下面以显示我的问题. 下面的代码应该是可编译并通过改变的定义CASE在第四行至0,12,可以尝试我上述不同的选项. 两个函数,ParticleMoverCPU并且ParticleMoverGPU被定义为比较CPU VS GPU性能.

  1. 有没有理由我的内存合并尝试减慢而不是加速我的代码?
  2. 有没有其他任何立即显而易见的事实,我没有做到这一点,我可以做到比一个"令人尴尬的并行"代码这样的60倍加速更好?

谢谢!

CPU - Intel Xeon E5620 @ 2.40GHz

GPU - NVIDIA Tesla C2070

// CASE 0: Regular struct with 3 floats
// CASE 1: Aligned struct using __align__(16) with 3 floats
// CASE 2: float3
#define CASE        0   // define to either 0, 1 or 2 as described …
Run Code Online (Sandbox Code Playgroud)

cuda memory-alignment

1
推荐指数
1
解决办法
591
查看次数

标签 统计

3d ×1

cuda ×1

figure ×1

location ×1

matlab ×1

memory-alignment ×1

text ×1