Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linear Regression example in README doesn't work #63

Open
ViralBShah opened this issue May 12, 2020 · 3 comments
Open

Linear Regression example in README doesn't work #63

ViralBShah opened this issue May 12, 2020 · 3 comments

Comments

@ViralBShah
Copy link
Member

All the other examples work fine. The linear regression doesn't work.

julia> @mpi_do man copy!(A, Float32[2 1; 1 2])
ERROR: TaskFailedException:
On worker 4:
ArgumentError: arrays must have the same axes for copy! (consider using `copyto!`)
copy! at ./abstractarray.jl:719
top-level scope at none:1
eval at ./boot.jl:331 [inlined]
#7 at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:510
#103 at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:290
run_work_thunk at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:79
run_work_thunk at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:88
#96 at ./task.jl:356
Stacktrace:
 [1] #remotecall_fetch#143 at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:394 [inlined]
 [2] remotecall_fetch(::Function, ::Distributed.Worker, ::Future) at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:386
 [3] remotecall_fetch(::Function, ::Int64, ::Future; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421
 [4] remotecall_fetch at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421 [inlined]
 [5] macro expansion at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:493 [inlined]
 [6] (::MPIClusterManagers.var"#25#28"{Future})() at ./task.jl:356

...and 3 more exception(s).

Stacktrace:
 [1] sync_end(::Channel{Any}) at ./task.jl:314
 [2] macro expansion at ./task.jl:333 [inlined]
 [3] mpi_do(::MPIManager, ::Function) at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:490
 [4] top-level scope at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:511

julia> @mpi_do man copy!(B, Float32[4, 5])
ERROR: TaskFailedException:
On worker 4:
ArgumentError: arrays must have the same axes for copy! (consider using `copyto!`)
copy! at ./abstractarray.jl:719
top-level scope at none:1
eval at ./boot.jl:331 [inlined]
#9 at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:510
#103 at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:290
run_work_thunk at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:79
run_work_thunk at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:88
#96 at ./task.jl:356
Stacktrace:
 [1] #remotecall_fetch#143 at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:394 [inlined]
 [2] remotecall_fetch(::Function, ::Distributed.Worker, ::Future) at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:386
 [3] remotecall_fetch(::Function, ::Int64, ::Future; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421
 [4] remotecall_fetch at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421 [inlined]
 [5] macro expansion at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:493 [inlined]
 [6] (::MPIClusterManagers.var"#25#28"{Future})() at ./task.jl:356

...and 3 more exception(s).

Stacktrace:
 [1] sync_end(::Channel{Any}) at ./task.jl:314
 [2] macro expansion at ./task.jl:333 [inlined]
 [3] mpi_do(::MPIManager, ::Function) at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:490
 [4] top-level scope at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:511
@christopher-dG
Copy link
Contributor

Have you tried using copyto! as recommended?

@ViralBShah
Copy link
Member Author

Yes, the copyto! does not produce an error. I haven't checked if it does the same thing that is intended. The ridge regression seems to work fine. The lasso fails to converge.

julia> @mpi_do man X = Elemental.ridge(A, B, 0f0)

julia> @mpi_do man X = Elemental.bpdn(A, B, 0.1f0)
      From worker 2:	0: ||x-z||_2=2.23607, epsPri=1.08571e-16, |rho| ||z-zOld||_2=0, and epsDual=1.08571e-16, objective=5.68434e-13
      From worker 2:	1: ||x-z||_2=2.23607, epsPri=1.08571e-16, |rho| ||z-zOld||_2=0, and epsDual=1.08571e-16, objective=5.68434e-13
      From worker 2:	2: ||x-z||_2=2.23607, epsPri=1.08571e-16, |rho| ||z-zOld||_2=0, and epsDual=1.08571e-16, objective=5.68434e-13
      From worker 2:	3: ||x-z||_2=2.23607, epsPri=1.08571e-16, |rho| ||z-zOld||_2=0, and epsDual=1.08571e-16, objective=5.68434e-13
      From worker 4:	Process 2 caught error message:
      From worker 4:	Lasso failed to converge
      From worker 4:	
      From worker 3:	Process 1 caught error message:
      From worker 3:	Lasso failed to convergeERROR: 
TaskFailedException:
Error deserializing a remote exception from worker 4
Remote(original) exception of type Elemental.RuntimeError
Remote stacktrace : 
ElError at /Users/viral/.julia/packages/Elemental/SF7xW/src/error.jl:20
bpdn! at /Users/viral/.julia/packages/Elemental/SF7xW/src/lapack_like/euclidean_min.jl:38 [inlined]
bpdn at /Users/viral/.julia/packages/Elemental/SF7xW/src/lapack_like/euclidean_min.jl:49
top-level scope at none:1
eval at ./boot.jl:331 [inlined]
#21 at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:510
#103 at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:290
run_work_thunk at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:79
run_work_thunk at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/process_messages.jl:88
#96 at ./task.jl:356
Stacktrace:
 [1] #remotecall_fetch#143 at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:394 [inlined]
 [2] remotecall_fetch(::Function, ::Distributed.Worker, ::Future) at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:386
 [3] remotecall_fetch(::Function, ::Int64, ::Future; kwargs::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421
 [4] remotecall_fetch at /Users/viral/julia/usr/share/julia/stdlib/v1.5/Distributed/src/remotecall.jl:421 [inlined]
 [5] macro expansion at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:493 [inlined]
 [6] (::MPIClusterManagers.var"#25#28"{Future})() at ./task.jl:356

...and 3 more exception(s).
      From worker 3:	
Stacktrace:

 [1]       From worker 5:	Process 3 caught error message:sync_end
(      From worker 5:	Lasso failed to converge::
Channel      From worker 5:	{
Any}      From worker 2:	Process 0 caught error message:)
 at       From worker 2:	Lasso failed to converge./task.jl:314

      From worker 2:	 [2] 
macro expansion at ./task.jl:333 [inlined]
 [3] mpi_do(::MPIManager, ::Function) at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:490
 [4] top-level scope at /Users/viral/.julia/packages/MPIClusterManagers/0ZYYQ/src/mpimanager.jl:511

@ViralBShah
Copy link
Member Author

Should the README be updated for copyto?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants