Skip to content

Instantly share code, notes, and snippets.

@abap34
Last active August 8, 2020 16:22
Show Gist options
  • Save abap34/88637348a892ed84eff2a589477a3dc0 to your computer and use it in GitHub Desktop.
Save abap34/88637348a892ed84eff2a589477a3dc0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# ブロードキャスト\n",
"\n",
"set_same_dim()で次元を揃えて、repeat()で引き伸ばす。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"set_same_dim (generic function with 1 method)"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function set_same_dim(x::AbstractArray, shape)\n",
" shape = [shape...]\n",
" if length(size(x)) == length(shape)\n",
" return (x, Tuple(shape))\n",
" elseif length(size(x)) < length(shape)\n",
" set_same_dim(reshape(x, (size(x)..., 1)), shape)\n",
" else\n",
" set_same_dim(x, pushfirst!(shape, 1))\n",
" end\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"broadcast_to (generic function with 1 method)"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function broadcast_to(x, shape)\n",
" x, shape = set_same_dim(x, shape)\n",
" rep_count = ((x, shape) -> (Int(shape / x))).(size(x), shape) \n",
" return repeat(x, (rep_count...))\n",
"end"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 使ってみる"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"using BenchmarkTools\n",
"using Random"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4×100 Array{Int64,2}:\n",
" 8 4 6 7 8 2 5 2 4 4 4 … 2 5 8 3 1 7 1 9 5 1 8 2\n",
" 10 10 3 2 8 6 7 6 1 3 5 4 6 6 4 8 7 2 10 2 6 4 6\n",
" 1 5 6 5 8 9 8 4 4 10 3 2 5 1 5 6 9 6 3 2 2 7 6\n",
" 4 8 5 5 1 10 3 4 3 8 2 6 7 4 1 3 7 2 4 4 7 3 2"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = rand(1:10, (4, 100))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4-element Array{Int64,1}:\n",
" 1\n",
" 2\n",
" 3\n",
" 4"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b = [1, 2, 3, 4]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4×100 Array{Int64,2}:\n",
" 9 5 7 8 9 3 6 3 5 5 5 … 9 4 2 8 2 10 6 2 9 3\n",
" 12 12 5 4 10 8 9 8 3 5 7 8 6 10 9 4 12 4 8 6 8\n",
" 4 8 9 8 11 12 11 7 7 13 6 4 8 9 12 9 6 5 5 10 9\n",
" 8 12 9 9 5 14 7 8 7 12 6 8 5 7 11 6 8 8 11 7 6"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a + broadcast_to(b, size(a)) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"broadcast_to(x, shape)は x .+ zeros(shape)と等価。"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"true"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b .+ zeros(Int, (size(a)...)) == broadcast_to(b, size(a))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 速度比較\n",
"(小さいサイズなのであまり変わらない、詳しくは下のグラフを参照)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: \n",
" memory estimate: 6.59 KiB\n",
" allocs estimate: 6\n",
" --------------\n",
" minimum time: 1.291 μs (0.00% GC)\n",
" median time: 1.888 μs (0.00% GC)\n",
" mean time: 3.343 μs (37.24% GC)\n",
" maximum time: 1.153 ms (99.73% GC)\n",
" --------------\n",
" samples: 10000\n",
" evals/sample: 10"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@benchmark b .+ zeros(Int, (size(a)...))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: \n",
" memory estimate: 3.92 KiB\n",
" allocs estimate: 15\n",
" --------------\n",
" minimum time: 3.339 μs (0.00% GC)\n",
" median time: 3.658 μs (0.00% GC)\n",
" mean time: 4.456 μs (13.45% GC)\n",
" maximum time: 1.197 ms (99.51% GC)\n",
" --------------\n",
" samples: 10000\n",
" evals/sample: 8"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@benchmark broadcast_to(b, size(a))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## plotしてみる"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Plots.PlotlyBackend()"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using Plots; plotly()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ResultContainer"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Base.@kwdef struct ResultContainer\n",
" times = []\n",
" memory = []\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0-element Array{Any,1}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"use_zeros = ResultContainer()\n",
"user_def = ResultContainer()\n",
"array_size = []"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"for i in 1:5\n",
" a = rand(1:10, (4, 100, i))\n",
" result_1 = @benchmark b .+ zeros(Int, (size(a)...))\n",
" result_2 = @benchmark broadcast_to(b, size(a))\n",
" push!(array_size, sizeof(a))\n",
" push!(use_zeros.times, mean(result_1.times))\n",
" push!(user_def.times, mean(result_2.times))\n",
" push!(use_zeros.memory, result_1.memory)\n",
" push!(user_def.memory, result_2.memory)\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" <script type=\"text/javascript\">\n",
" requirejs([\"https://cdn.plot.ly/plotly-latest.min.js\"], function(p) {\n",
" window.Plotly = p\n",
" });\n",
" </script>\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"data": [
{
"colorbar": {
"title": {
"text": ""
}
},
"legendgroup": "use zeros",
"line": {
"color": "rgba(0, 154, 250, 1.000)",
"dash": "solid",
"shape": "linear",
"width": 1
},
"mode": "lines",
"name": "use zeros",
"showlegend": true,
"type": "scatter",
"x": [
3200,
6400,
9600,
12800,
16000
],
"xaxis": "x",
"y": [
3866.2656599999996,
5601.941555555555,
7035.1041875,
8811.561985714285,
10748.576033333335
],
"yaxis": "y",
"zmax": null,
"zmin": null
},
{
"colorbar": {
"title": {
"text": ""
}
},
"legendgroup": "user def",
"line": {
"color": "rgba(227, 111, 71, 1.000)",
"dash": "solid",
"shape": "linear",
"width": 1
},
"mode": "lines",
"name": "user def",
"showlegend": true,
"type": "scatter",
"x": [
3200,
6400,
9600,
12800,
16000
],
"xaxis": "x",
"y": [
48613.1861,
53640.1926,
56403.475,
68047.6172,
66430.3854
],
"yaxis": "y",
"zmax": null,
"zmin": null
}
],
"layout": {
"annotations": [
{
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 20
},
"rotation": 0,
"showarrow": false,
"text": "broadcast_times",
"x": 0.5370370370370371,
"xanchor": "center",
"xref": "paper",
"y": 1,
"yanchor": "top",
"yref": "paper"
}
],
"height": 400,
"legend": {
"bgcolor": "rgba(255, 255, 255, 1.000)",
"bordercolor": "rgba(0, 0, 0, 1)",
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 11
},
"tracegroupgap": 0,
"x": 1,
"y": 1
},
"margin": {
"b": 20,
"l": 0,
"r": 0,
"t": 20
},
"paper_bgcolor": "rgba(255, 255, 255, 1.000)",
"plot_bgcolor": "rgba(255, 255, 255, 1.000)",
"showlegend": true,
"width": 600,
"xaxis": {
"anchor": "y",
"domain": [
0.08063575386410031,
0.9934383202099737
],
"gridcolor": "rgba(0, 0, 0, 0.1)",
"gridwidth": 0.5,
"linecolor": "rgba(0, 0, 0, 1)",
"mirror": false,
"range": [
2816,
16384
],
"showgrid": true,
"showline": true,
"showticklabels": true,
"tickangle": 0,
"tickcolor": "rgb(0, 0, 0)",
"tickfont": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 11
},
"tickmode": "array",
"ticks": "inside",
"ticktext": [
"5000",
"7500",
"10000",
"12500",
"15000"
],
"tickvals": [
5000,
7500,
10000,
12500,
15000
],
"title": {
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 15
},
"text": ""
},
"type": "linear",
"visible": true,
"zeroline": false,
"zerolinecolor": "rgba(0, 0, 0, 1)"
},
"yaxis": {
"anchor": "x",
"domain": [
0.03762029746281716,
0.9415463692038496
],
"gridcolor": "rgba(0, 0, 0, 0.1)",
"gridwidth": 0.5,
"linecolor": "rgba(0, 0, 0, 1)",
"mirror": false,
"range": [
1940.8251137999998,
69973.0577462
],
"showgrid": true,
"showline": true,
"showticklabels": true,
"tickangle": 0,
"tickcolor": "rgb(0, 0, 0)",
"tickfont": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 11
},
"tickmode": "array",
"ticks": "inside",
"ticktext": [
"1×10⁴",
"2×10⁴",
"3×10⁴",
"4×10⁴",
"5×10⁴",
"6×10⁴"
],
"tickvals": [
10000,
20000,
30000,
40000,
50000,
60000
],
"title": {
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 15
},
"text": ""
},
"type": "linear",
"visible": true,
"zeroline": false,
"zerolinecolor": "rgba(0, 0, 0, 1)"
}
}
},
"image/png": "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",
"text/html": [
"<!DOCTYPE html>\n",
"<html>\n",
" <head>\n",
" <title>Plots.jl</title>\n",
" <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">\n",
" <script src=\"https://cdn.plot.ly/plotly-latest.min.js\"></script>\n",
" </head>\n",
" <body>\n",
" <div id=\"735ba7e2-b99b-47a2-95d9-b3b3087408d2\" style=\"width:600px;height:400px;\"></div>\n",
" <script>\n",
" PLOT = document.getElementById('735ba7e2-b99b-47a2-95d9-b3b3087408d2');\n",
" Plotly.plot(PLOT, [\n",
" {\n",
" \"xaxis\": \"x1\",\n",
" \"colorbar\": {\n",
" \"title\": \"\"\n",
" },\n",
" \"yaxis\": \"y1\",\n",
" \"x\": [\n",
" 3200.0,\n",
" 6400.0,\n",
" 9600.0,\n",
" 12800.0,\n",
" 16000.0\n",
" ],\n",
" \"showlegend\": true,\n",
" \"mode\": \"lines\",\n",
" \"name\": \"use zeros\",\n",
" \"zmin\": null,\n",
" \"legendgroup\": \"use zeros\",\n",
" \"zmax\": null,\n",
" \"line\": {\n",
" \"color\": \"rgba(0, 154, 250, 1.000)\",\n",
" \"shape\": \"linear\",\n",
" \"dash\": \"solid\",\n",
" \"width\": 1\n",
" },\n",
" \"y\": [\n",
" 3866.2656599999996,\n",
" 5601.941555555555,\n",
" 7035.1041875,\n",
" 8811.561985714285,\n",
" 10748.576033333335\n",
" ],\n",
" \"type\": \"scatter\"\n",
" },\n",
" {\n",
" \"xaxis\": \"x1\",\n",
" \"colorbar\": {\n",
" \"title\": \"\"\n",
" },\n",
" \"yaxis\": \"y1\",\n",
" \"x\": [\n",
" 3200.0,\n",
" 6400.0,\n",
" 9600.0,\n",
" 12800.0,\n",
" 16000.0\n",
" ],\n",
" \"showlegend\": true,\n",
" \"mode\": \"lines\",\n",
" \"name\": \"user def\",\n",
" \"zmin\": null,\n",
" \"legendgroup\": \"user def\",\n",
" \"zmax\": null,\n",
" \"line\": {\n",
" \"color\": \"rgba(227, 111, 71, 1.000)\",\n",
" \"shape\": \"linear\",\n",
" \"dash\": \"solid\",\n",
" \"width\": 1\n",
" },\n",
" \"y\": [\n",
" 48613.1861,\n",
" 53640.1926,\n",
" 56403.475,\n",
" 68047.6172,\n",
" 66430.3854\n",
" ],\n",
" \"type\": \"scatter\"\n",
" }\n",
"]\n",
", {\n",
" \"showlegend\": true,\n",
" \"xaxis\": {\n",
" \"showticklabels\": true,\n",
" \"gridwidth\": 0.5,\n",
" \"tickvals\": [\n",
" 5000.0,\n",
" 7500.0,\n",
" 10000.0,\n",
" 12500.0,\n",
" 15000.0\n",
" ],\n",
" \"visible\": true,\n",
" \"ticks\": \"inside\",\n",
" \"range\": [\n",
" 2816.0,\n",
" 16384.0\n",
" ],\n",
" \"domain\": [\n",
" 0.08063575386410031,\n",
" 0.9934383202099737\n",
" ],\n",
" \"tickmode\": \"array\",\n",
" \"linecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"showgrid\": true,\n",
" \"title\": \"\",\n",
" \"mirror\": false,\n",
" \"tickangle\": 0,\n",
" \"showline\": true,\n",
" \"gridcolor\": \"rgba(0, 0, 0, 0.100)\",\n",
" \"titlefont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 15\n",
" },\n",
" \"tickcolor\": \"rgb(0, 0, 0)\",\n",
" \"ticktext\": [\n",
" \"5000\",\n",
" \"7500\",\n",
" \"10000\",\n",
" \"12500\",\n",
" \"15000\"\n",
" ],\n",
" \"zeroline\": false,\n",
" \"type\": \"-\",\n",
" \"tickfont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 11\n",
" },\n",
" \"zerolinecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"anchor\": \"y1\"\n",
" },\n",
" \"paper_bgcolor\": \"rgba(255, 255, 255, 1.000)\",\n",
" \"annotations\": [\n",
" {\n",
" \"yanchor\": \"top\",\n",
" \"xanchor\": \"center\",\n",
" \"rotation\": -0.0,\n",
" \"y\": 1.0,\n",
" \"font\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 20\n",
" },\n",
" \"yref\": \"paper\",\n",
" \"showarrow\": false,\n",
" \"text\": \"broadcast_times\",\n",
" \"xref\": \"paper\",\n",
" \"x\": 0.5370370370370371\n",
" }\n",
" ],\n",
" \"height\": 400,\n",
" \"margin\": {\n",
" \"l\": 0,\n",
" \"b\": 20,\n",
" \"r\": 0,\n",
" \"t\": 20\n",
" },\n",
" \"plot_bgcolor\": \"rgba(255, 255, 255, 1.000)\",\n",
" \"yaxis\": {\n",
" \"showticklabels\": true,\n",
" \"gridwidth\": 0.5,\n",
" \"tickvals\": [\n",
" 10000.0,\n",
" 20000.0,\n",
" 30000.0,\n",
" 40000.0,\n",
" 50000.0,\n",
" 60000.0\n",
" ],\n",
" \"visible\": true,\n",
" \"ticks\": \"inside\",\n",
" \"range\": [\n",
" 1940.8251137999998,\n",
" 69973.0577462\n",
" ],\n",
" \"domain\": [\n",
" 0.03762029746281716,\n",
" 0.9415463692038496\n",
" ],\n",
" \"tickmode\": \"array\",\n",
" \"linecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"showgrid\": true,\n",
" \"title\": \"\",\n",
" \"mirror\": false,\n",
" \"tickangle\": 0,\n",
" \"showline\": true,\n",
" \"gridcolor\": \"rgba(0, 0, 0, 0.100)\",\n",
" \"titlefont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 15\n",
" },\n",
" \"tickcolor\": \"rgb(0, 0, 0)\",\n",
" \"ticktext\": [\n",
" \"1×10⁴\",\n",
" \"2×10⁴\",\n",
" \"3×10⁴\",\n",
" \"4×10⁴\",\n",
" \"5×10⁴\",\n",
" \"6×10⁴\"\n",
" ],\n",
" \"zeroline\": false,\n",
" \"type\": \"-\",\n",
" \"tickfont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 11\n",
" },\n",
" \"zerolinecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"anchor\": \"x1\"\n",
" },\n",
" \"legend\": {\n",
" \"tracegroupgap\": 0,\n",
" \"bordercolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"bgcolor\": \"rgba(255, 255, 255, 1.000)\",\n",
" \"font\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 11\n",
" },\n",
" \"y\": 1.0,\n",
" \"x\": 1.0\n",
" },\n",
" \"width\": 600\n",
"}\n",
");\n",
" </script>\n",
"\n",
" </body>\n",
"</html>\n"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(array_size, [use_zeros.times, user_def.times], title=\"broadcast_times\", label=[\"use zeros\" \"user def\"])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"data": [
{
"colorbar": {
"title": {
"text": ""
}
},
"legendgroup": "use zeros",
"line": {
"color": "rgba(0, 154, 250, 1.000)",
"dash": "solid",
"shape": "linear",
"width": 1
},
"mode": "lines",
"name": "use zeros",
"showlegend": true,
"type": "scatter",
"x": [
3200,
6400,
9600,
12800,
16000
],
"xaxis": "x",
"y": [
6784,
13184,
19584,
25984,
32384
],
"yaxis": "y",
"zmax": null,
"zmin": null
},
{
"colorbar": {
"title": {
"text": ""
}
},
"legendgroup": "user def",
"line": {
"color": "rgba(227, 111, 71, 1.000)",
"dash": "solid",
"shape": "linear",
"width": 1
},
"mode": "lines",
"name": "user def",
"showlegend": true,
"type": "scatter",
"x": [
3200,
6400,
9600,
12800,
16000
],
"xaxis": "x",
"y": [
36848,
43584,
50320,
57056,
63792
],
"yaxis": "y",
"zmax": null,
"zmin": null
}
],
"layout": {
"annotations": [
{
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 20
},
"rotation": 0,
"showarrow": false,
"text": "broadcast_memory",
"x": 0.5370370370370371,
"xanchor": "center",
"xref": "paper",
"y": 1,
"yanchor": "top",
"yref": "paper"
}
],
"height": 400,
"legend": {
"bgcolor": "rgba(255, 255, 255, 1.000)",
"bordercolor": "rgba(0, 0, 0, 1)",
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 11
},
"tracegroupgap": 0,
"x": 1,
"y": 1
},
"margin": {
"b": 20,
"l": 0,
"r": 0,
"t": 20
},
"paper_bgcolor": "rgba(255, 255, 255, 1.000)",
"plot_bgcolor": "rgba(255, 255, 255, 1.000)",
"showlegend": true,
"width": 600,
"xaxis": {
"anchor": "y",
"domain": [
0.08063575386410031,
0.9934383202099737
],
"gridcolor": "rgba(0, 0, 0, 0.1)",
"gridwidth": 0.5,
"linecolor": "rgba(0, 0, 0, 1)",
"mirror": false,
"range": [
2816,
16384
],
"showgrid": true,
"showline": true,
"showticklabels": true,
"tickangle": 0,
"tickcolor": "rgb(0, 0, 0)",
"tickfont": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 11
},
"tickmode": "array",
"ticks": "inside",
"ticktext": [
"5000",
"7500",
"10000",
"12500",
"15000"
],
"tickvals": [
5000,
7500,
10000,
12500,
15000
],
"title": {
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 15
},
"text": ""
},
"type": "linear",
"visible": true,
"zeroline": false,
"zerolinecolor": "rgba(0, 0, 0, 1)"
},
"yaxis": {
"anchor": "x",
"domain": [
0.03762029746281716,
0.9415463692038496
],
"gridcolor": "rgba(0, 0, 0, 0.1)",
"gridwidth": 0.5,
"linecolor": "rgba(0, 0, 0, 1)",
"mirror": false,
"range": [
5073.76,
65502.24
],
"showgrid": true,
"showline": true,
"showticklabels": true,
"tickangle": 0,
"tickcolor": "rgb(0, 0, 0)",
"tickfont": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 11
},
"tickmode": "array",
"ticks": "inside",
"ticktext": [
"1×10⁴",
"2×10⁴",
"3×10⁴",
"4×10⁴",
"5×10⁴",
"6×10⁴"
],
"tickvals": [
10000,
20000,
30000,
40000,
50000,
60000
],
"title": {
"font": {
"color": "rgba(0, 0, 0, 1)",
"family": "sans-serif",
"size": 15
},
"text": ""
},
"type": "linear",
"visible": true,
"zeroline": false,
"zerolinecolor": "rgba(0, 0, 0, 1)"
}
}
},
"image/png": "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",
"text/html": [
"<!DOCTYPE html>\n",
"<html>\n",
" <head>\n",
" <title>Plots.jl</title>\n",
" <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">\n",
" <script src=\"https://cdn.plot.ly/plotly-latest.min.js\"></script>\n",
" </head>\n",
" <body>\n",
" <div id=\"7862db0b-1db9-4059-849e-758d8e2be3cc\" style=\"width:600px;height:400px;\"></div>\n",
" <script>\n",
" PLOT = document.getElementById('7862db0b-1db9-4059-849e-758d8e2be3cc');\n",
" Plotly.plot(PLOT, [\n",
" {\n",
" \"xaxis\": \"x1\",\n",
" \"colorbar\": {\n",
" \"title\": \"\"\n",
" },\n",
" \"yaxis\": \"y1\",\n",
" \"x\": [\n",
" 3200.0,\n",
" 6400.0,\n",
" 9600.0,\n",
" 12800.0,\n",
" 16000.0\n",
" ],\n",
" \"showlegend\": true,\n",
" \"mode\": \"lines\",\n",
" \"name\": \"use zeros\",\n",
" \"zmin\": null,\n",
" \"legendgroup\": \"use zeros\",\n",
" \"zmax\": null,\n",
" \"line\": {\n",
" \"color\": \"rgba(0, 154, 250, 1.000)\",\n",
" \"shape\": \"linear\",\n",
" \"dash\": \"solid\",\n",
" \"width\": 1\n",
" },\n",
" \"y\": [\n",
" 6784.0,\n",
" 13184.0,\n",
" 19584.0,\n",
" 25984.0,\n",
" 32384.0\n",
" ],\n",
" \"type\": \"scatter\"\n",
" },\n",
" {\n",
" \"xaxis\": \"x1\",\n",
" \"colorbar\": {\n",
" \"title\": \"\"\n",
" },\n",
" \"yaxis\": \"y1\",\n",
" \"x\": [\n",
" 3200.0,\n",
" 6400.0,\n",
" 9600.0,\n",
" 12800.0,\n",
" 16000.0\n",
" ],\n",
" \"showlegend\": true,\n",
" \"mode\": \"lines\",\n",
" \"name\": \"user def\",\n",
" \"zmin\": null,\n",
" \"legendgroup\": \"user def\",\n",
" \"zmax\": null,\n",
" \"line\": {\n",
" \"color\": \"rgba(227, 111, 71, 1.000)\",\n",
" \"shape\": \"linear\",\n",
" \"dash\": \"solid\",\n",
" \"width\": 1\n",
" },\n",
" \"y\": [\n",
" 36848.0,\n",
" 43584.0,\n",
" 50320.0,\n",
" 57056.0,\n",
" 63792.0\n",
" ],\n",
" \"type\": \"scatter\"\n",
" }\n",
"]\n",
", {\n",
" \"showlegend\": true,\n",
" \"xaxis\": {\n",
" \"showticklabels\": true,\n",
" \"gridwidth\": 0.5,\n",
" \"tickvals\": [\n",
" 5000.0,\n",
" 7500.0,\n",
" 10000.0,\n",
" 12500.0,\n",
" 15000.0\n",
" ],\n",
" \"visible\": true,\n",
" \"ticks\": \"inside\",\n",
" \"range\": [\n",
" 2816.0,\n",
" 16384.0\n",
" ],\n",
" \"domain\": [\n",
" 0.08063575386410031,\n",
" 0.9934383202099737\n",
" ],\n",
" \"tickmode\": \"array\",\n",
" \"linecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"showgrid\": true,\n",
" \"title\": \"\",\n",
" \"mirror\": false,\n",
" \"tickangle\": 0,\n",
" \"showline\": true,\n",
" \"gridcolor\": \"rgba(0, 0, 0, 0.100)\",\n",
" \"titlefont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 15\n",
" },\n",
" \"tickcolor\": \"rgb(0, 0, 0)\",\n",
" \"ticktext\": [\n",
" \"5000\",\n",
" \"7500\",\n",
" \"10000\",\n",
" \"12500\",\n",
" \"15000\"\n",
" ],\n",
" \"zeroline\": false,\n",
" \"type\": \"-\",\n",
" \"tickfont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 11\n",
" },\n",
" \"zerolinecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"anchor\": \"y1\"\n",
" },\n",
" \"paper_bgcolor\": \"rgba(255, 255, 255, 1.000)\",\n",
" \"annotations\": [\n",
" {\n",
" \"yanchor\": \"top\",\n",
" \"xanchor\": \"center\",\n",
" \"rotation\": -0.0,\n",
" \"y\": 1.0,\n",
" \"font\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 20\n",
" },\n",
" \"yref\": \"paper\",\n",
" \"showarrow\": false,\n",
" \"text\": \"broadcast_memory\",\n",
" \"xref\": \"paper\",\n",
" \"x\": 0.5370370370370371\n",
" }\n",
" ],\n",
" \"height\": 400,\n",
" \"margin\": {\n",
" \"l\": 0,\n",
" \"b\": 20,\n",
" \"r\": 0,\n",
" \"t\": 20\n",
" },\n",
" \"plot_bgcolor\": \"rgba(255, 255, 255, 1.000)\",\n",
" \"yaxis\": {\n",
" \"showticklabels\": true,\n",
" \"gridwidth\": 0.5,\n",
" \"tickvals\": [\n",
" 10000.0,\n",
" 20000.0,\n",
" 30000.0,\n",
" 40000.0,\n",
" 50000.0,\n",
" 60000.0\n",
" ],\n",
" \"visible\": true,\n",
" \"ticks\": \"inside\",\n",
" \"range\": [\n",
" 5073.76,\n",
" 65502.24\n",
" ],\n",
" \"domain\": [\n",
" 0.03762029746281716,\n",
" 0.9415463692038496\n",
" ],\n",
" \"tickmode\": \"array\",\n",
" \"linecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"showgrid\": true,\n",
" \"title\": \"\",\n",
" \"mirror\": false,\n",
" \"tickangle\": 0,\n",
" \"showline\": true,\n",
" \"gridcolor\": \"rgba(0, 0, 0, 0.100)\",\n",
" \"titlefont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 15\n",
" },\n",
" \"tickcolor\": \"rgb(0, 0, 0)\",\n",
" \"ticktext\": [\n",
" \"1×10⁴\",\n",
" \"2×10⁴\",\n",
" \"3×10⁴\",\n",
" \"4×10⁴\",\n",
" \"5×10⁴\",\n",
" \"6×10⁴\"\n",
" ],\n",
" \"zeroline\": false,\n",
" \"type\": \"-\",\n",
" \"tickfont\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 11\n",
" },\n",
" \"zerolinecolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"anchor\": \"x1\"\n",
" },\n",
" \"legend\": {\n",
" \"tracegroupgap\": 0,\n",
" \"bordercolor\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"bgcolor\": \"rgba(255, 255, 255, 1.000)\",\n",
" \"font\": {\n",
" \"color\": \"rgba(0, 0, 0, 1.000)\",\n",
" \"family\": \"sans-serif\",\n",
" \"size\": 11\n",
" },\n",
" \"y\": 1.0,\n",
" \"x\": 1.0\n",
" },\n",
" \"width\": 600\n",
"}\n",
");\n",
" </script>\n",
"\n",
" </body>\n",
"</html>\n"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(array_size, [use_zeros.memory, user_def.memory], title=\"broadcast_memory\", label=[\"use zeros\" \"user def\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### おまけ : @code_loweredの時のdot syntax"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"ename": "UndefVarError",
"evalue": "UndefVarError: .+ not defined",
"output_type": "error",
"traceback": [
"UndefVarError: .+ not defined",
"",
"Stacktrace:",
" [1] top-level scope at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.4/InteractiveUtils/src/macros.jl:151",
" [2] top-level scope at In[17]:1"
]
}
],
"source": [
"@code_lowered b .+ zeros(Int, (4, 100))"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"f (generic function with 1 method)"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f() = b .+ zeros(Int, (4, 10))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"CodeInfo(\n",
"\u001b[90m1 ─\u001b[39m %1 = Core.tuple(4, 10)\n",
"\u001b[90m│ \u001b[39m %2 = Main.zeros(Main.Int, %1)\n",
"\u001b[90m│ \u001b[39m %3 = Base.broadcasted(Main.:+, Main.b, %2)\n",
"\u001b[90m│ \u001b[39m %4 = Base.materialize(%3)\n",
"\u001b[90m└──\u001b[39m return %4\n",
")"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@code_lowered f()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.4.0",
"language": "julia",
"name": "julia-1.4"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.4.0"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment