update
This commit is contained in:
@@ -6,37 +6,58 @@ using CUDA
|
|||||||
|
|
||||||
# ------------------------------ 100 characters ------------------------------ #
|
# ------------------------------ 100 characters ------------------------------ #
|
||||||
|
|
||||||
""" Search wine in stock.
|
""" CUDA version of cartesianAssign!().
|
||||||
|
|
||||||
Arguments\n
|
Arguments\n
|
||||||
a : one of ChatAgent's agent.
|
-----
|
||||||
|
a::CuArray
|
||||||
|
target matrix.
|
||||||
|
b::CuArray
|
||||||
|
source matrix.
|
||||||
|
|
||||||
Return\n
|
Return\n
|
||||||
A JSON string of available wine
|
-----
|
||||||
|
Resulting matrix a
|
||||||
|
|
||||||
Example\n
|
Example\n
|
||||||
```jldoctest
|
```jldoctest
|
||||||
julia> using ChatAgent, CommUtils
|
julia> not done yet
|
||||||
julia> agent = ChatAgent.agentReflex("Jene")
|
|
||||||
julia> input = "{\"food\": \"pizza\", \"occasion\": \"anniversary\"}"
|
|
||||||
julia> result = winestock(agent, input)
|
|
||||||
"{"wine 1": {\"Winery\": \"Pichon Baron\", \"wine name\": \"Pauillac (Grand Cru Classé)\", \"grape variety\": \"Cabernet Sauvignon\", \"year\": 2010, \"price\": \"125 USD\", \"stock ID\": \"ar-17\"}, }"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Signature\n
|
||||||
|
-----
|
||||||
"""
|
"""
|
||||||
cartesianAssign!(a::CuArray, b::CuArray) = @cuda cartesianAssign!(a, b)
|
cartesianAssign!(a::CuArray, b::CuArray) = @cuda cartesianAssign!(a, b)
|
||||||
|
|
||||||
|
|
||||||
""" GPU version of batchMatEleMul
|
""" CUDA version of batchMatEleMul.
|
||||||
|
|
||||||
Example
|
Arguments\n
|
||||||
julia> using Flux, CUDA
|
-----
|
||||||
julia> device = Flux.CUDA.functional() ? gpu : cpu
|
a::CuArray
|
||||||
julia> if device == gpu CUDA.device!(0) end
|
Input matrix
|
||||||
julia> input = rand(32, 32, 128) |> gpu; # 128-batches
|
b::CuArray
|
||||||
julia> weight = rand(32, 32, 1024) |> gpu; # 1-batch. this matrix is essentially (32, 32, 1024, 1)
|
Input matrix
|
||||||
julia> r = matMul_3Dto3D_manyTo1batch(input, weight);
|
|
||||||
julia> size(r)
|
Return\n
|
||||||
(32, 32, 1024, 128)
|
-----
|
||||||
|
Resulting matrix
|
||||||
|
|
||||||
|
Example\n
|
||||||
|
-----
|
||||||
|
```jldoctest
|
||||||
|
julia> using Flux, CUDA
|
||||||
|
julia> device = Flux.CUDA.functional() ? gpu : cpu
|
||||||
|
julia> if device == gpu CUDA.device!(0) end
|
||||||
|
julia> input = rand(32, 32, 128) |> gpu; # 128-batches
|
||||||
|
julia> weight = rand(32, 32, 1024) |> gpu; # 1-batch. this matrix is essentially (32, 32, 1024, 1)
|
||||||
|
julia> r = matMul_3Dto3D_manyTo1batch(input, weight);
|
||||||
|
julia> size(r)
|
||||||
|
(32, 32, 1024, 128)
|
||||||
|
```
|
||||||
|
|
||||||
|
Signature\n
|
||||||
|
-----
|
||||||
"""
|
"""
|
||||||
function matMul_3Dto3D_manyTo1batch(a::CuArray, b::CuArray;
|
function matMul_3Dto3D_manyTo1batch(a::CuArray, b::CuArray;
|
||||||
resultStorage::Union{CuArray, Nothing}=nothing)
|
resultStorage::Union{CuArray, Nothing}=nothing)
|
||||||
|
|||||||
Reference in New Issue
Block a user