From cd5c8d180c3c0a760401bd96e52abe28a554e492 Mon Sep 17 00:00:00 2001 From: narawat lamaiin Date: Fri, 15 Mar 2024 08:09:26 +0700 Subject: [PATCH] update --- src/interface.jl | 61 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/src/interface.jl b/src/interface.jl index b1e8503..c3baddc 100644 --- a/src/interface.jl +++ b/src/interface.jl @@ -6,37 +6,58 @@ using CUDA # ------------------------------ 100 characters ------------------------------ # -""" Search wine in stock. +""" CUDA version of cartesianAssign!(). Arguments\n - a : one of ChatAgent's agent. - + ----- + a::CuArray + target matrix. + b::CuArray + source matrix. + Return\n - A JSON string of available wine + ----- + Resulting matrix a Example\n ```jldoctest - julia> using ChatAgent, CommUtils - 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\"}, }" + julia> not done yet ``` + + Signature\n + ----- """ cartesianAssign!(a::CuArray, b::CuArray) = @cuda cartesianAssign!(a, b) -""" GPU version of batchMatEleMul - - Example - 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) +""" CUDA version of batchMatEleMul. + + Arguments\n + ----- + a::CuArray + Input matrix + b::CuArray + Input matrix + + Return\n + ----- + 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; resultStorage::Union{CuArray, Nothing}=nothing)